7 ответов:
редактировать 2:
использовать
NumberобъектаtoFixedспособ такой:var num = Number(0.005) // The Number() only visualizes the type and is not needed var roundedString = num.toFixed(2); var rounded = Number(roudedString); // toFixed() returns a string (often suitable for printing already)он округляет 42.0054321 до 42.01
он округляет 0,005 до 0,01
он округляет -0.005 до -0.01 (поэтому абсолютное значение увеличивается при округлении .Границы 5)
toFixed()- метод преобразует число в строку, сохраняя заданное количество десятичных знаков. Он фактически не округляет число, он усекает число.Math.round(n)- округляет число до ближайшего целого числа. Превратив таким образом:0.5 -> 1; 0.05 -> 0
поэтому, если вы хотите округлить, скажем, число 0.55555, только до второго десятичного знака; вы можете сделать следующее (Это пошаговая концепция):
0.55555 * 100= 55.555Math.Round(55.555)- > 56.00056.000 / 100= 0,56000(0.56000).toFixed(2)- > 0.56и этот код:
(Math.round(number * 100)/100).toFixed(2);
это сработало для меня:
var new_number = float.toFixed(2);пример:
var my_float = 0.6666 my_float.toFixed(3) # => 0.667
предыдущие ответы забыли снова ввести вывод в виде числа. Есть несколько способов сделать это, в зависимости от ваших вкусов.
+my_float.toFixed(2) Number(my_float.toFixed(2)) parseFloat(my_float.toFixed(2))
хотя у нас есть много ответов здесь с большим количеством полезных предложений, каждый из них все еще пропускает некоторые шаги.
Так вот это полное решение, завернутое в небольшую функцию:function roundToTwoDigitsAfterComma(floatNumber) { return parseFloat((Math.round(floatNumber * 100) / 100).toFixed(2)); }на всякий случай, если вам интересно, как это работает:
- многократная цепь с 100 и после этого делает кругом для того чтобы держать Точность 2 чисел после запятой
- разделить обратно на 100 и использовать
toFixed(2)сохранить 2 цифры после запятая и бросьте другие бесполезные часть- преобразуйте его обратно в float с помощью возвращает строку
Примечание: если вы сохраняете последние 2 цифры после запятой из-за работы с денежными значениями, и ведение финансовых расчетов имейте в виду, что это не очень хорошая идея и вам лучше использовать целочисленные значения вместо этого.
Comments