合計収率100%ありませんそれらをパーセント値全体に変換する必要があります(追加すると、期待どおりに合計100%になります)。私はこの機能を持っています:JavaScriptはパーセンテージに3つの数字を変換すること、私は3つの数字を持っているシナリオを有する
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%です。続い:
- コマンドpercentage1 = 15
- percentage2に= 9
- Percentage3 = 77 101%まで追加
、どこが間違っているんですか?
事前にお問い合わせいただきありがとうございます。あなたがダウン値を丸め、そしてあなたがまで彼らにを丸めているので、次に2番目に101%を取得しているので、
あなたが間違っているのは、四捨五入後に合計が100%になる必要があることです。 – recursive