首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使四舍五入的百分比之和为100%

如何使四舍五入的百分比之和为100%
EN

Stack Overflow用户
提问于 2012-11-21 06:38:56
回答 6查看 120.6K关注 0票数 230

考虑下面的四个百分比,表示为

数字:

代码语言:javascript
复制
13.626332%
    47.989636%
     9.596008%
    28.788024%
   -----------
   100.000000%

我需要将这些百分比表示为整数。如果我简单地使用

,我最终得到了101%的结果。

代码语言:javascript
复制
14 + 48 + 10 + 29 = 101

如果我使用

,我最终得到了总共97%的结果。

代码语言:javascript
复制
13 + 47 + 9 + 28 = 97

什么是一个好的算法来表示任何数量的百分比作为整数,同时仍然保持总数为100%?

编辑

:在阅读了一些评论和答案后,显然有很多方法可以解决这个问题。

在我看来,为了保持数字的真实性,“正确”的结果是将总体误差最小化的结果,其定义是相对于实际值的舍入将引入多少误差:

代码语言:javascript
复制
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)。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13483430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档