由一个现象说起:
当构票张数到了35张时就突然出现了下面的现象:
36时又恢复了正常:
js的浮点数类型值在参与四则运算时,有时会产生很奇怪的数据,这是几乎所有编程语言的通病,因为计算机是把数据转化成二进制参与计算的,这里面就要用到反码,补码等之类的知识。
下面提供了一种解决方法,就是在运算之前先乘上相应的10^n,然后就可以了。(前提是你得知道相应的小数位数)。当然还有其他的方法,可参考其他文字。
JS浮点数运算异常及解决方案
本文探讨了JavaScript中浮点数运算时出现的异常现象,并提供了通过乘以10^n来解决该问题的方法。文章还介绍了浮点数运算异常产生的原因在于计算机将数据转换为二进制进行计算。
由一个现象说起:
当构票张数到了35张时就突然出现了下面的现象:
36时又恢复了正常:
js的浮点数类型值在参与四则运算时,有时会产生很奇怪的数据,这是几乎所有编程语言的通病,因为计算机是把数据转化成二进制参与计算的,这里面就要用到反码,补码等之类的知识。
下面提供了一种解决方法,就是在运算之前先乘上相应的10^n,然后就可以了。(前提是你得知道相应的小数位数)。当然还有其他的方法,可参考其他文字。
1266
1210
361

被折叠的 条评论
为什么被折叠?