您的位置:首页 > Web前端 > JavaScript

js中带小数的两数据的操作问题,出现很多小数位

2012-04-07 00:01 399 查看
前几天碰到有趣的是 0.1+0.2 ==0.3 //false

顿时郁闷,好吧原来0.1+0.2变成了 0.30000000000000004

再来一个 2.4/0.8 =>2.9999999999999996 没办法换种方式,都转换成整数 (2.4 * 100 )/(0.8 *100)

然后今天做项目的时候刚好也碰到了,要做一个价格增减的运算,譬如原来的价格是

10.22现在要减去0.11 结果值又出现了很多的小数 10.110000000000001,然后我就用了toFixed来过滤小数,但是不知道跟前面那种转换成整数后再执行哪种效率高,好吧还是试下再说 var date1 = new Date();
for(var i = 0; i < 10000; i++){
var result1 = (10.22 -0.11).toFixed(2);
}
console.log(new Date() - date1);//22

var date2 = new Date();
for(var j = 0; j < 10000; j++){
var result2 = (10.22 * 1000 -0.11 * 1000)/1000;
}
console.log(new Date() - date2);//1
差距很明显了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐