Number.prototype.toFixed
- это функция, предназначенная для форматирования числа перед его печатью.Это из семейства toString
, toExponential
и toPrecision
.
Чтобы округлить число, вы должны сделать это:
someNumber = 42.008;
someNumber = Math.round( someNumber * 1e2 ) / 1e2;
someNumber === 42.01;
// if you need 3 digits, replace 1e2 with 1e3 etc.
.
Или, если вы хотите нативную функцию, вы можете расширить прототип:
Number.prototype.toFixedNumber = function(x, base){
var pow = Math.pow(base||10,x);
return Math.round(this*pow) / pow;
}
someNumber = 42.008;
someNumber = someNumber.toFixedNumber(2);
someNumber === 42.01;
//or even hexadecimal
someNumber = 0xAF309/256 //which is af3.09
someNumber = someNumber.toFixedNumber(1, 16);
someNumber.toString(16) === "af3.1";
Однако имейте в виду, что загрязнение прототипа считается плохим при написании модуля, поскольку у модулей не должно быть никаких побочных эффектов.