js 操作数字类型
1.内置函数
Number()、parseInt()、parseFloat()
- var num = "88.88abc888";
- Number(num); //NaN
- parseFloat(num); //88.88
- parseFloat(Number(num)); //NaN
2.Number.toFixed(x) 、 Number.toPrecision(x) 、 Math.Round(x)的区别:
都有四舍五入的功能。
Number.toFixed(x) 是将指定数字截取小数点后 x 位。
Number.toPrecision(x) 是将整个数字截取指定 x 长度。
注意:一个是计算小数点后的长度,一个是计算整个数字的长度 。
Math.round(x) 方法把 x 舍入为最接近的整数。
- var num = 123.456;
- num.toFixed(1); // 123.5
- num.toPrecision(2); // 1.2e+2
- num.toPrecision(3); // 123
- Math.round(-4.60); // -5
- Math.round(num * 10) / 10; // 123.5
- Math.round(num * 100) / 100; // 123.46
3.小数操作:
// 将浮点数四舍五入,取小数点后2位
function formatFloat(x) {
var f = Number(x);
if (isNaN(f))
return;
f = Math.round(x*100)/100;
return f;
}
// 保留2位小数,不足补0
function formatFloat(x) {
var f = Number(x);
if (isNaN(f))
return false;
var f = Math.round(x*100)/100;
var s = f.toString();
var rs = s.indexOf('.');
if (rs < 0) {
rs = s.length;
s += '.';
}
while (s.length <= rs + 2) {
s += '0';
}
return s;
}