两个百分比的Javascript Math.round()导致数字大于100%

时间:2016-06-02 08:05:20

标签: javascript arrays math

我正在研究一个获取两个数组长度的函数,将它们加在一起并得到每个数组的百分比 喜欢这个

var arrLength1 = arr1.length;
var arrLength2 = arr2.length;

var totalLength = arrLength1 + arrLength2;

var arrPercent1 = (arrLength1/totalLength) * 100;

return Math.round(arrPercent1);

该功能正常,直到达到比率5:3。

返回Math.round()之前的百分比是62.5是37.5 最终将达到63%和38%,总计超过100%。

如何获得63%和37%或62%和38%?感谢

2 个答案:

答案 0 :(得分:0)

对于Math.round值,

Math.ceil的行为类似x.5。您希望它位于62.5和ceil 37.5,或相反。这是矛盾的。

编辑:Steven Lambert应该将他的解决方案作为答案发布,它应该是公认的解决方案。

答案 1 :(得分:0)

简单的解决方案是只进行第一次舍入并从100中减去结果以获得第二个数字。保证最多可加100个。100 - Math.round(arrPercent1)