下面的代码,都和JS里面的数字的小数位数有关,希望对你有帮助。
要保留小数位数,其实使用JS提供的内部函数就足够了。比如
var a=3.1415926;
document.write("原来的值:"+a+"<br>");
document.write("保留两位小数点:"+a.toFixed(2)+"<br>保留四位小数点"+a.toFixed(4));
上面的代码,不知道大家注意了没有,靠的就是toFixed函数了。
知识拓展:其它保留小数的代码
不四舍五入
以下处理结果不会四舍五入:
第一种,先把小数边整数:
Math.floor(15.7784514000 * 100) / 100
输出结果为 15.77
第二种,当作字符串,使用正则匹配:
Number(15.7784514000.toString().match(/^\d+(?:\.\d{0,2})?/))
输出结果为 15.77,不能用于整数如 10 必须写为10.0000
//保留两位小数
//功能:将浮点数四舍五入,取小数点后2位
function toDecimal(x) {
var f = parseFloat(x);
if (isNaN(f)) {
return;
}
f = Math.round(x*100)/100;
return f;
}
//制保留2位小数,如:2,会在2后面补上00.即2.00
function toDecimal2(x) {
var f = parseFloat(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;
}
function fomatFloat(src,pos){
return Math.round(src*Math.pow(10, pos))/Math.pow(10, pos);
}