今天在页面上用到了js进行小数相加119.01+0.01,结果你们都知道应该是:119.02的,然而结果是119..0200000…. ,莫名其妙的,还觉得是我写的程序有问题,后来查了下才知道这是javascript浮点运算的一个bug. javascript
解决方案java
1.这是由于Javascript的数字类型是以64位的IEEE 754格式存储的。spa
2.解决方法把相加的结果作下处理ip
function toDecimal(x) {
var val = Number(x)
if(!isNaN(parseFloat(val))) {
val = val.toFixed(2);
}
return val;
}ci