文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>陷阱,陷阱,JS浮点运算存在陷阱

陷阱,陷阱,JS浮点运算存在陷阱

时间:2011-01-20  来源:MyNet

 

  YgAlterCR=((stringToFloat(YgAlterAmount)-stringToFloat(NewYgAlterAmount);

 

上面的代码还好,如果是下面的代码就悲剧了:

 

  if (fAmount == fAmountTotle - fAmountByContract)

 

因为JS的加减乘除法存在陷阱,我们的程序常被客户鄙视,认为1+1不等于2的错误,很是影响公司形象,具体陷阱如下:

 

JS浮点计算错误举例:

 

加法
  98.92+0.4= 99.32000000000001
  98.52+0.6=99.11999999999999


减法
  99.12-0.6=98.52000000000001
  99.32-0.4=98.91999999999999


除法
  212.59/2.25=94.48444444444445


乘法
  98.92*0.4=39.568000000000005

 

当客户的业务数据刚好符合上面规则时,完了,明明1-1=0,就是提示不相等。

 

建议我们的程序禁止JS代码直接使用+-*/,解决方案很多,百度一下就知道了哈。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载