我有一个场景,我有三个数字:
- 17
- 10
- 90
我需要将它们转换为完整的百分比值(这样添加时,总计 100%,如您所料)。我有这个功能:
function roundPercentageTotals(num1, num2, num3) {
var total = num1 + num2 + num3; // 117
var num1Total = (num1 / total) * 100; // 14.529914529914531
var num2Total = (num2 / total) * 100; // 8.547008547008546
var num3Total = (num3 / total) * 100; // 76.92307692307693
var num1ToDecimal = num1Total.toFixed(1); // 14.5
var num2ToDecimal = num2Total.toFixed(1); // 8.5
var num3ToDecimal = num3Total.toFixed(1); // 76.9
var totalPercentage = parseInt(num1ToDecimal) + parseInt(num2ToDecimal) + parseInt(num3ToDecimal); // 98
return { percentage1: Math.round(num1ToDecimal, percentage2: Math.round(num2ToDecimal), percentage3: Math.round(num3ToDecimal) };
}
在我的示例中,计算的总百分比为 98%。其次是:
- 百分比 1 = 15
- 百分比2 = 9
- 百分比3 = 77
加起来是 101%,我哪里错了?
提前感谢您的帮助!