在使用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))
时间: 2024-10-10 09:44:45