发现一个很有意思的问题

pyt5208 2011-12-29 08:40:43
Int(65.1*100)的值等于多少?
答案是6509,为什么呢?
...全文
416 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2011-12-31
  • 打赏
  • 举报
回复
用10进制小数不能精确表示某些三进制小数0.1(3)=0.33333333333……(10)
同理,用二进制小数也不能精确表示某些10进制小数。
sinitek123 2011-12-30
  • 打赏
  • 举报
回复
类型的关系把 看监看
哈了 2011-12-29
  • 打赏
  • 举报
回复
见怪不怪
无·法 2011-12-29
  • 打赏
  • 举报
回复
我也觉得很奇怪
chinaboyzyq 2011-12-29
  • 打赏
  • 举报
回复
1、计算机浮点数计算存在误差这应该是常识。
2、int取整时存在四舍五入的问题:
Debug.Print Int(65.1 * 100 + 0.5)
3、可以使用定点数计算:
Debug.Print Int(65.1@ * 100)
Debug.Print Int(ccur(65.1) * 100)

rfb0204421 2011-12-29
  • 打赏
  • 举报
回复
确实挺奇怪,期待高人解释一下
贝隆 2011-12-29
  • 打赏
  • 举报
回复
数据精度的问题。不足为奇

2,462

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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