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

js中1-0.55=0.44999999999999996怎么解决

js中1-0.55=0.44999999999999996怎么解决

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

2 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

用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
?
LEATH

TA贡献1936条经验 获得超7个赞

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

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号