js数据计算中的一个bug,9.44+4.8计算结果竟然是14.239999999999998

在使用js计算数据时,遇到一个很奇怪的问题,9.44+4.8计算结果竟然是14.239999999999998这个??很夸张。

于是享有经验的同事请教,这是怎么回事,原来是js的bug,在减法时,经常出现,加法时出现的少,需要修正,修正方式有两种,一种是转化为整数,另一种是使用toFixed() 

,还有一种方式就是给加上一个很小的数,例如0.000000001,然后在取几位小数

  第一种方法:使用整数的方法:  

alert( (9.44*100+4.8*100)/100.0)
  第二种方法:使用toFixed() 的方法

alert( (9.44+4.8).toFixed(2))


  第三种方法:给加上一个很小的数

alert( (9.44+4.8+0.000000001).toFixed(3))


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。