为什么INT((123.3-INT(123.3))*100)=29而不是等于30?

sjk131 2003-11-14 12:06:37
一个小问题:为什么INT((123.3-INT(123.3))*100)=29而不是等于30?真是愁人哪。
...全文
37 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sjk131 2003-11-14
  • 打赏
  • 举报
回复
微微的一点
sjk131 2003-11-14
  • 打赏
  • 举报
回复
从其他地方知道了,可以这样解决: int(mod(123.3*100,100))

还真是精度问题。但若不是在实践中发现,谁会就知道是等于29这个错误答案呢?
yslzhf 2003-11-14
  • 打赏
  • 举报
回复

楼上说的对
就是这个原因
这是存放格式的问题
属于正常现象
redladybird 2003-11-14
  • 打赏
  • 举报
回复
此类问题好象很简单啊!!!!
123.3在内存中是123.299999999999,绝对不会是123.3这么精确。

5,140

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧