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

    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

    注意:在需要计算数据的时候,把数据转换成精度更高的做法还是必须的,例如在人民币方面把单位变成分而不是元.

你可能感兴趣的:(四舍五入,浮点数,javascript权威指南,IEEE-754)