为了账号安全,请及时绑定邮箱和手机立即绑定

js中1-0.55=0.44999999999999996怎么解决

js中1-0.55=0.44999999999999996怎么解决

慕后森 2019-04-19 16:12:31
如题今天在使用js进行数据自动结算时出现这样的结果bjObj.val(parseFloat(1-parseFloat(xzObj.val())));就是通过这个代码来计算的结果1-0.55的0.44999999999999996请大神讲解说明如果能够修复更好runjs代码库
查看完整描述

2 回答

?
Qyouu

TA贡献1786条经验 获得超11个赞

用toFixed()来选择保留几位小数
varnumber=0.3-0.2//0.09999999999999998
number.toFixed(2)//"0.10"
typeofnumber.toFixed(2)//"string"
number=+number.toFixed(2)//0.1
也可以用这个big.js
                            
查看完整回答
反对 回复 2019-04-19
?
跃然一笑

TA贡献1826条经验 获得超6个赞

如果要做到精确,那先定义好要保留小数点后几位,即精确到10的k次方分位。小数点右边第一位是十分位,第二位是百分位。假设要保留小数点后两位,就是精确到百分位,那么先把结果乘以100,再四舍五入取整,再除以100。
Math.round(parseFloat(1-0.55)*100)/100
                            
查看完整回答
反对 回复 2019-04-19
  • 2 回答
  • 0 关注
  • 315 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信