java百分比加起来不是一百

阅读: 评论:0

java百分比加起来不是一百

java百分比加起来不是一百

考虑以下四个百分比,以float数字表示:

13.626332%

47.989636%

9.596008%

28.788024%

-----------

100.000000%

我需要将这些百分比表示为整数。如果仅使用und(),我最终将占101%。

14 + 48 + 10 + 29 = 101

如果使用parseInt(),我最终将获得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)。

本文发布于:2024-01-30 21:53:57,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170662284123084.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:百分比   加起来   java
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23