考虑下面的四个百分比,表示为
数字:
13.626332%
47.989636%
9.596008%
28.788024%
-----------
100.000000%
我需要将这些百分比表示为整数。如果我简单地使用
,我最终得到了101%的结果。
14 + 48 + 10 + 29 = 101
如果我使用
,我最终得到了总共97%的结果。
13 + 47 + 9 + 28 = 97
什么是一个好的算法来表示任何数量的百分比作为整数,同时仍然保持总数为100%?
编辑
:在阅读了一些评论和答案后,显然有很多方法可以解决这个问题。
在我看来,为了保持数字的真实性,“正确”的结果是将总体误差最小化的结果,其定义是相对于实际值的舍入将引入多少误差:
value rounded error decision
----------------------------------------------------
13.626332 14 2.7% round up (14)
47.989636 48 0.0% round up (48)
9.596008 10 4.0% don't round up (9)
28.788024 29 2.7% round up (29)
在平局(3.33,3.33,3.33)的情况下,可以做出任意决定(例如3,4,3)。
https://stackoverflow.com/questions/13483430
复制相似问题