Округление до нужного количества знаков после запятой
Привет всем! В отличии от PHP (функция round()), в яваскрипте нет функции округляющей до нужного знака после запятой. Есть только метод round, который округляет до целого числа.
Предлагаю Вам простую функцию, которая округляет до нужного знака. function roundPlus(x, n) { //x - число, n - количество знаков if(isNaN(x) || isNaN(n)) return false; var m = Math.pow(10,n); return Math.round(x*m)/m; } Предлагаю администрации портала внести эту функцию в список аналогов функций php, в качестве аналога функции round(). |
alert(123.3453346.toFixed(3));
|
ZoNT,
toFixed возвращает значение типа string: alert(typeof 123.3453346.toFixed(3)); // "string" Поэтому лучше использовать его в комбинации с parseFloat: alert(typeof parseFloat(123.3453346.toFixed(3))); // "number" |
Цитата:
|
честно говоря, не нашел метод toFixed в справочнике, потому что он не описан в методах объекта Math, а описывается в методах объекта Number, его как бы приблизили к методам типа toString, и т.д. и возвращает он строку, хотя логически это чисто математическая штука должна быть.
Я думаю, в любом случае. в разделе "аналоги функций PHP" нужно указать аналог функции round() с использованием toFixing. |
Цитата:
|
Kolyaj,
Цитата:
|
x.toFixed(n)/1;
так кажись проще |
Вот тоже не понимаю зачем округлять, если нужны дальнейшие вычисления. Тогда же ошибка будет накапливаться.
Какая разница сколько знаков хранится в памяти. А вот при выводе уже можно урезать. |
alert(typeof +3.3453346.toFixed(3)); // "number" |
Часовой пояс GMT +3, время: 11:44. |