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

JavaScript权威指南3-二进制浮点数和四舍五入的错误

2016-04-03 00:00 281 查看
JavaScript采用IEEE-754浮点数表示法(几乎所有现代编程语言所采用的),这是一种二进制表示法,可以精确表示分数,比如1/2,1/8,1/1024等.而我们常用的分数都是十进制分数1/10,1/100等.二进制浮点数并不能精确表示类似0.1这样简单的数字.

有以下代码

console.log(0.8-0.4);//0.4
console.log(0.8-0.7);//0.10000000000000009
console.log(0.4-0.2);//0.2
console.log(0.6-0.4);//0.19999999999999996
console.log(0.3-0.2);//0.09999999999999998
console.log(0.5-0.4);//0.09999999999999998
console.log(0.2-0.1);//0.1


注意:在需要计算数据的时候,把数据转换成精度更高的做法还是必须的,例如在人民币方面把单位变成分而不是元.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息