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

float类型减法问题

代码19行把字符串解析成浮点数算减法的时候,得到5-3.2=1.7999999999999998,这是为什么?

正在回答

1 回答

因为它已经指定了是float类型的

0 回复 有任何疑惑可以回复我~
#1

水中熊 提问者

啥意思?我知道是float类型,我想去算小数加减法,我就想知道为什么 5-3.1=1.9,5-3.2就错了?
2015-06-09 回复 有任何疑惑可以回复我~
#2

chavin 回复 水中熊 提问者

这个问题 我也想知道,都是减法怎么就一个很多位小数
2015-06-09 回复 有任何疑惑可以回复我~
#3

chavin 回复 水中熊 提问者

http://zhidao.baidu.com/link?url=fnm-OY2cffwyzOsdL_kIpjvOjafX5lp3JIMffdtrNnTHPHjGPUi6Vpo5CLW68doBGJC67nxOJj3whiQDmA5Vta 看一看 我刚找到的
2015-06-09 回复 有任何疑惑可以回复我~
#4

水中熊 提问者 回复 chavin

哦,谢谢,我看懂了。java和JavaScript中计算小数运算时,都会先将十进制的小数换算到对应的二进制,一部分小数并不能完整的换算为二进制,这里就出现了第一次的误差。待小数都换算为二进制后,再进行二进制间的运算,得到二进制结果。然后再将二进制结果换算为十进制,这里通常会出现第二次的误差。要避免这种情况呢,通常可以将小数同时扩大相同10的整倍数,完成计算后,在去掉之前添加的整倍数。
2015-06-10 回复 有任何疑惑可以回复我~
#5

chavin 回复 水中熊 提问者

6666666666
2015-06-10 回复 有任何疑惑可以回复我~
查看2条回复

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468472    人
  • 解答问题       21893    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

float类型减法问题

我要回答 关注问题
微信客服

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

帮助反馈 APP下载

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

公众号

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