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


  共有4321人关注过本帖树形打印复制链接

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

帅哥哟,离线,有人找我吗?
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是肯定不能用了!)?或者只好对每次的计算结果都四舍五入?还是说把所有的小数数据类型都改成高精度小数?


 回到顶部
帅哥哟,离线,有人找我吗?
lgzhao
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:304 积分:2091 威望:0 精华:0 注册:2017/11/19 9:46:00
  发帖心情 Post By:2022/1/26 5:25:00 [只看该作者]

如果是一般的财务数据,物品重量等,如果把列有效位数控制在两位小数,系统会在存储的时候自动舍入,那么应该没区别吧。

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110649 积分:563159 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/1/26 8:26:00 [只看该作者]

需要精确计算结果的时候就使用高精度。

 回到顶部
帅哥哟,离线,有人找我吗?
chen37280600
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1279 积分:7953 威望:0 精华:4 注册:2017/12/31 14:53:00
  发帖心情 Post By:2022/1/26 8:26:00 [只看该作者]

凡是小数,你一律上Decimal,啥都别问,啥都别纠结,以后准没坑

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


加好友 发短信
等级:三尾狐 帖子:655 积分:5004 威望:0 精华:0 注册:2011/11/26 17:46:00
  发帖心情 Post By:2022/1/26 10:59:00 [只看该作者]

帮助文档上不是说不要轻易使用高精度小数吗?
我想所有的小数列都用高精度小数,但又怕帮助文档上说得万一极大影响计算的话就麻烦了。
同时我的数据列里面小数比较多,相互之间都有计算,就怕不用高精度会出来意想不到的问题。而且计算结果每次都要去舍入一次感觉也挺麻烦的。


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


加好友 发短信
等级:三尾狐 帖子:655 积分:5004 威望:0 精华:0 注册:2011/11/26 17:46:00
  发帖心情 Post By:2022/1/26 10:59:00 [只看该作者]

会不会出现项目运行速度慢的情况呢?

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110649 积分:563159 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/1/26 11:02:00 [只看该作者]

正常影响不大。

再说了如果对精度要求高,就只能使用高精度类型,没有其它方法。就算真的有影响,也只能忍着

 回到顶部
帅哥哟,离线,有人找我吗?
rjh4078
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3361 积分:24808 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2022/1/26 20:33:00 [只看该作者]

建议都上Decimal 大数据统计的时候差距就出来了

 回到顶部