Округление до двух знаков после запятой

0

Я загружаю числовые значения до 2 знаков после запятой, используя Javascript. Все ценности выглядят нормально, за исключением 299,90 фунтов стерлингов и 499,90 фунтов стерлингов, что составляет 299,9 фунтов стерлингов и 499,9 фунтов стерлингов

Текущий код:

//ROUNDING FUNCTION
function round(num, decimals) {
     return Math.round(num * Math.pow(10, decimals)) / Math.pow(10, decimals);
}

//LOADING VALUES - Line cost variable is £49.99/£29.99 * 10
jQuery(".content").html("£" + round(lineCost, 2));

То, что я пробовал:

jQuery(".content").html(parseFloat(lineCost * 100) / 100).toFixed(2);

jQuery(".content").html(Number(lineCost).toFixed(2));

Есть идеи?

Благодарю.

  • 3
    jQuery(".content").html(Number(lineCost).toFixed(2)); должно сработать.
Теги:
rounding

3 ответа

1
Лучший ответ

Вы можете попробовать с toFixed метода toFixed для значения float/integer:

var value = 0.127456;
    value.toFixed(2);

Вывод:

0.13

В твоем случае:

jQuery(".content").html("£" + lineCost.toFixed(2));

Если lineCost является строкой, проанализируйте ее для float:

jQuery(".content").html("£" + parseFloat(lineCost).toFixed(2));
  • 0
    решение parseFloat сработало! Спасибо :)
1

Вы слишком усложняете это.

Это просто требует

parseFloat(lineCost).toFixed(2);

Вот демонстрационная скрипка.

  • 0
    Ваше решение сработало, спасибо! кто-то просто побил тебя, хотя! извиняюсь!
0

На самом деле округление средства для преобразования числа, как 10.5 до 11 или 12.49 до 12, так что вы не должны округлять число, если вы хотите использовать float с десятичными числами, вместо этого вы должны просто использовать что - то вроде этого:

var lineCost = 12.5;
parseFloat(lineCost).toFixed(2);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню