今天在处理数据的时候发现js两个数运算,结果会出现很多小数位.比如:0.56*100=0.5600000000001
还有,3.1+2=5.100000000001.
网上查,这是因为Javascript的数字类型是以64位的IEEE 754格式存储的。
解决方法可以用 toFixed()方法,把Number四舍五入为指定的小数位.
function getNumber(a, b) {
var val = Number(a) + Number(b);
if(!isNaN(parseFloat(val))) {
val = val.toFixed(2);
}
return val;
}
如果保存成整数,可以直接用parseInt().