Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.12.2015, 23:09
Новичок на форуме
Отправить личное сообщение для Knick_S Посмотреть профиль Найти все сообщения от Knick_S
 
Регистрация: 02.12.2015
Сообщений: 7

Два знака после запятой и не только
Добрый день, уважаемые знатоки!
Прошу помощи в решении проблемы. Задача в том, что бы обрезать число вида -
35,5265485

в такой вид -
35,52

Кажется, что toFixed(2) поможет в этом случае, но задача в том, что бы число вида -
35

имело вид не -
35,00

а -
35

Благодарю за внимание!
Ответить с цитированием
  #2 (permalink)  
Старый 02.12.2015, 23:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Knick_S,
чисел с запятой не бывает
Ответить с цитированием
  #3 (permalink)  
Старый 02.12.2015, 23:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Два знака после запятой
Knick_S,
<script>
function fn(a) {
    a = +("" + a).split(",").join(".");
    return (a | 0) + +(a - (a | 0)).toFixed(2)
};
document.write(fn(35.00005) +'<br>')
document.write(fn('35,5265485') +'<br>')
  </script>
Ответить с цитированием
  #4 (permalink)  
Старый 03.12.2015, 00:19
Новичок на форуме
Отправить личное сообщение для Knick_S Посмотреть профиль Найти все сообщения от Knick_S
 
Регистрация: 02.12.2015
Сообщений: 7

Благодарю! По поводу запятых - запомню
Ответить с цитированием
  #5 (permalink)  
Старый 03.12.2015, 01:26
Новичок на форуме
Отправить личное сообщение для Knick_S Посмотреть профиль Найти все сообщения от Knick_S
 
Регистрация: 02.12.2015
Сообщений: 7

var a = 12
var b = 6.6
var c = a * b
fn(c)
alert(c); // 79.19999999999999

var a = 12
var b = 6.55555
var c = a * b
fn(c)
alert(c); // 78.72

Выяснил случайным набором. Можете поправить? =)

И на выводе хотелось бы иметь разделение запятой, так по макету.
Я делаю это так -
var totalb = $(this).closest(".li_par").find(".row9").html().re place(".", ",");
$(this).closest(".li_par").find(".row9").html(tota lb);

Но думаю, что можно проще. Но вот так -
total.replace(".", ",")

или
var total_b = total.replace(".", ",")

почему-то не работает ( пишет total.replace(".", ",") не является функцией ).

Буду очень благодарен! =)

Последний раз редактировалось Knick_S, 03.12.2015 в 01:35.
Ответить с цитированием
  #6 (permalink)  
Старый 03.12.2015, 01:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Сообщение от Knick_S
Можете поправить? =)
что поправить?
Ответить с цитированием
  #7 (permalink)  
Старый 03.12.2015, 02:02
Новичок на форуме
Отправить личное сообщение для Knick_S Посмотреть профиль Найти все сообщения от Knick_S
 
Регистрация: 02.12.2015
Сообщений: 7

Сообщение от рони Посмотреть сообщение
что поправить?
var a = 12
var b = 6.6
var c = a * b
fn(c)
alert(c); // 79.19999999999999

Что бы после точки было лишь две цифры.
Ответить с цитированием
  #8 (permalink)  
Старый 03.12.2015, 02:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Сообщение от Knick_S
Что бы после точки было лишь две цифры.
а сейчас сколько? не две разве?
Ответить с цитированием
  #9 (permalink)  
Старый 03.12.2015, 02:14
Новичок на форуме
Отправить личное сообщение для Knick_S Посмотреть профиль Найти все сообщения от Knick_S
 
Регистрация: 02.12.2015
Сообщений: 7

Я ж описал, что при обработке выражения 12*6.6 вашей функцией, выходит 79.19999999999999.
Ответить с цитированием
  #10 (permalink)  
Старый 03.12.2015, 02:19
Новичок на форуме
Отправить личное сообщение для Knick_S Посмотреть профиль Найти все сообщения от Knick_S
 
Регистрация: 02.12.2015
Сообщений: 7

Такой чувство, что вы не видите код, который я пишу.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Округление до нужного количества знаков после запятой Shurik_ Общие вопросы Javascript 29 01.03.2020 03:35
Два восклицательных знака Нияз jQuery 4 09.04.2015 08:40
submit только после второго клика OldBob Общие вопросы Javascript 5 17.04.2014 17:02
Количество знаков после запятой vanya_sll Элементы интерфейса 5 19.07.2013 09:34
[JavaScript] получение данных из адресной строки после знака # GiveMeABreak AJAX и COMET 2 16.09.2009 00:36