不知是小弟无知,还是我的机器出了问题我的机器上VB环境中 100-97.35=2.65000000000001还请各位多多指教

chtlover 2005-10-08 10:27:52
如题
...全文
68 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
weiweiplay 2005-10-08
  • 打赏
  • 举报
回复
VB默认的是根据你的操作来的,如果你进行了小数操作就是Double,如果没有就是long
chtlover 2005-10-08
  • 打赏
  • 举报
回复
我没有定义类型看来VB作数学运算的时候默认的就是Double型的呀
脆皮大雪糕 2005-10-08
  • 打赏
  • 举报
回复
计算精度的问题,试试下面的代码

Dim a As Double
Dim b As Single

a = 100 - 97.35
b = 100 - 97.35

Debug.Print a
Debug.Print b

输出结果:
2.65000000000001
2.65

这个结果是DOUBLE数据类型在内存中的表达方式而导致的。
weiweiplay 2005-10-08
  • 打赏
  • 举报
回复
定义成Double型就是这样的
定义成Currency型就可以了

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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