Я выполняю следующую операцию в Javascript:
0.0030 / 0.031
Как округлить результат до произвольного числа разрядов? Какое максимальное число может содержать var
?
Я выполняю следующую операцию в Javascript:
0.0030 / 0.031
Как округлить результат до произвольного числа разрядов? Какое максимальное число может содержать var
?
Современные браузеры должны поддерживать метод под названием toFixed()
. Вот пример из Интернета:
// Example: toFixed(2) when the number has no decimal places
// It will add trailing zeros
var num = 10;
var result = num.toFixed(2); // result will equal 10.00
// Example: toFixed(3) when the number has decimal places
// It will round to the thousandths place
num = 930.9805;
result = num.toFixed(3); // result will equal 930.981
toPrecision()
также может быть вам полезен, на этой странице есть еще один отличный пример.
Для старых браузеров вы можете сделать это вручную, используя Math.round
. Math.round()
будет округлено до ближайшего целого числа. Чтобы добиться десятичной точности, вам нужно немного манипулировать своими числами:
Итак, чтобы округлить 5,11111111 до трех знаков после запятой, вы должны сделать это:
var result=Math.round(5.111111*1000)/1000 //returns 5.111
toFixed
довольно несовершенна - jibbering.com/faq/#formatNumber
- person kangax; 03.09.2009
Наибольшее положительное конечное значение числового типа приблизительно равно 1,7976931348623157 * 10308. ECMAScript-262, 3-е изд. также определяет Number.MAX_VALUE
, который содержит это значение.
Чтобы ответить на вопросы Джага: