Foxtable(狐表)用户栏目专家坐堂 → 什么情况小该用高精度小数


  共有3449人关注过本帖平板打印复制链接

主题:什么情况小该用高精度小数

帅哥哟,离线,有人找我吗?
sky-18
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:655 积分:5004 威望:0 精华:0 注册:2011/11/26 17:46:00
什么情况小该用高精度小数  发帖心情 Post By:2022/1/26 3:05:00 [只看该作者]

Dim a As Single
Dim b As Single
Dim c As Single
a = 93218.4
b = 100000
c = b - a
Output.show(c)
结果等于:6781.602
结果错得很离谱!!!!!!!!!!
然后把数据类型改为double
Dim a As double
Dim b As double
Dim c As double
a = 93218.4
b = 100000
c = b - a
Output.show(c)
结果等于:6781.60000000001
结果仍然是错误的!!!
最后发现,换成高精度小数的时候就没问题了。
但关键是帮助文档上写明除非必要不要使用高精度小数,说会影响计算速度。
但是这么一个简单的一位小数的减法都不能算对我还能用double吗(single是肯定不能用了!)?或者只好对每次的计算结果都四舍五入?还是说把所有的小数数据类型都改成高精度小数?


 回到顶部