日期:2014-05-16  浏览次数:20335 次

JavaScript浮点运算问题分析与解决

JavaScript 只有一种数字类型Number,而且在Javascript中所有的数字都是以IEEE-754(http://zh.wikipedia.org/zh-cn/IEEE_754)标准格式表示的。

浮点数的精度问题不是JavaScript特有的,因为有些小数以二进制表示位数是无穷的:

十进制 ? ? ? ? ??二进制

0.1 ? ? ? ? ? ? ?0.0001 1001 1001 1001 ...

0.2?? ? ? ? ? ? ?0.0011 0011 0011 0011 ...

0.3?? ? ? ? ? ? ?0.0100 1100 1100 1100 ...

0.4?? ? ? ? ? ? ?0.0110 0110 0110 0110 ...

0.5?? ? ? ? ? ? ?0.1

0.6?? ? ? ? ? ? ?0.1001 1001 1001 1001 ...

?