Foxtable(狐表)用户栏目专家坐堂 → 如何保证比例计算数据后,其和相同


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

主题:如何保证比例计算数据后,其和相同

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


加好友 发短信
等级:狐神 帖子:5061 积分:13092 威望:0 精华:0 注册:2014/5/15 21:34:00
如何保证比例计算数据后,其和相同  发帖心情 Post By:2018/11/8 21:07:00 [只看该作者]

大师:请问
a = 1553
b = 253
c = 289
d = 325

b1 = a*1553/(b+c+d)
b2 = b*1553/(b+c+d)
b3 = c*1553/(b+c+d)

如果保留小数点两位,不轧差的情况下,如何保证,b1+b2+b3 = 1553 ?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/8 21:14:00 [只看该作者]

用高精度小数,或者最后得到的数据允许适当误差。

 

Dim a As Decimal = 1553
Dim b As Decimal= 253
Dim c As Decimal= 289
Dim d As Decimal= 325


Dim b1 As Decimal= b*1553/(b+c+d)
Dim b2 As Decimal= c*1553/(b+c+d)
Dim b3 As Decimal= d*1553/(b+c+d)
msgbox(b1+b2+b3)

 

 


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


加好友 发短信
等级:狐神 帖子:5061 积分:13092 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2018/11/8 21:37:00 [只看该作者]

我的意思:如果是货币153.25元,单元格比例计算后保留到分,如何保证比例计算后其和正好相等?列的数据类型是double?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/8 21:42:00 [只看该作者]

1、用高精度小数存放数据;

 

2、你显示成两位小数,但实际计算,用完整的计算。不然,你只能允许误差。


 回到顶部