百分比计算结果四舍五入后产生误差的问题

jamduck 2006-10-31 02:41:20
field1/sum(field1)的结果如下:
0.110118920209076
0.123120558375449
0.553078513119643
0.0225479916592207
0.0534814654532814
0.00398192635151651
0.0341789060747162
0.0781190376038812
0.0213726811532166
现在想把它们格式化成#0%,结果如下:
11%
12%
55%
2%
5%
0%
3%
8%
2%
发现把格式化后的值全部加起来总和不是100%,怎么办?增加精度到#0.00%情况会好些,但只要有四舍五入存在就有可能出现误差...
...全文
946 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
jamduck 2006-10-31
  • 打赏
  • 举报
回复
似乎只能这样了
viena 2006-10-31
  • 打赏
  • 举报
回复
可以排序,把差额补上
如果差额正,从大到小
如果差额负,从小到大

全部加起来总和是98%
差2,正的,从最大的开始补
55% => 56%
12% => 13%
bitpolar 2006-10-31
  • 打赏
  • 举报
回复
譬如
33.33%
33.33%
33.33%

四舍五入肯定不到100%
这个肯定没办法吧
相关推荐
发帖
C#

10.8w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
帖子事件
创建了帖子
2006-10-31 02:41
社区公告

让您成为最强悍的C#开发者