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

有关转换double->int的问题

有关转换double->int的问题

yesonline 2016-07-16 13:37:22
最近发现在极少数的情形下,从 double->int会出现问题,例如 33.3*100 ,应该是 3330 ,但如果做一个数型的转换 Int(33.3*100) 会得到 3329 的结果?另外 Int(66.6*100) 得到 6659 ,请问这是什么原因呢?我是在写swift程式时发现的,发现在c/c++中也是如此状况。谢谢
查看完整描述

2 回答

?
木柘

TA贡献143条经验 获得超94个赞

//img1.sycdn.imooc.com//578a12450001f83806100213.jpg

数据在内存里不是跟数学意义上一样的。

查看完整回答
1 反对 回复 2016-07-16
?
yesonline

TA贡献1条经验 获得超0个赞

谢谢,我也是如此认为,但实际上要如何解决这个情形呢?我用swift做一个计算机,33.3乘以100本来应是得到3330的,如今却出现这种情形,导致后续的计算出错,不知可有解决之法?

查看完整回答
反对 回复 2016-07-16
  • 2 回答
  • 0 关注
  • 1715 浏览

添加回答

举报

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