计算Excel饼图等百分比

我正在将计算模型从Excel转换为编程语言,我希望保持结果与Excel类似。

具体来说,我想确保饼图的百分比总和为100时,他们显示为整数。

例:

  • 考虑一下: [ 7, 13, 58, 43 ]
  • 饼图中的百分比应该是[ 5.79%, 10.74%, 47.93%, 35.54% ]
  • 整数,你会得到[ 6%, 11%, 48%, 36% ] 。 这些加起来101。
  • 根据这个页面 ,Excel应该从最大的数字中减去1%。
  • 这个信息显然不适用于Excel 2007,因为我看到的实际数字是[ 6%, 11%, 48%, 35% ] ,所以它从第二大的数字中减去1。

我发现这个页面 ,似乎承认这种情况是奇怪的,但并没有真正的Excel使用的algorithm。

编辑 :我第一次错过了,但该页面意味着“Excel使用的内部机制以最小二乘法使数据集和描述它的回归线之间的误差最小化的方式类似的方式最小化百分比中的误差”。 不知道这只是一个疯狂的猜测或更多的东西。

任何人都可以阐明这个问题吗?

(必须链接: 保存甜点饼 )

据我所知,它会从最小的小数部分等于或大于0,5%的数字中减去1。 在这种情况下,第二大数字只有0.54%,其他人都有更大的东西。

例:

例如四舍五入的总数为101

另外,当你的总数达到99%时,你应该select小数部分小于0.5%的数值。

例:

例如四舍五入的总数为101

所以相应地创build你的algorithm。