私は5つ星の評価と平均スコアを持っています。
- 平均スコアは浮動小数点数です
- 5つ星の評価は10セクションのみで、1つの星には2つのハーフスターがあります(したがって、10セクションは5つ星です)
元:
Average score is: from 0 - 5 (average = 4.658, or average = 0.256, 0 <= average <= 5)
Five star rating is 10 section: [0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5]
平均スコアを確認し、平均スコアに基づいて10セクションベースに設定するにはどうすればよいですか?
これは私のコードです、それは非常に長いです。
var twofixed = Math.round(average * 100) / 100;
twofixed = Math.abs(twofixed);
var decimal = twofixed - Math.floor(twofixed)
twofixed = (twofixed + "").split(".");
if(twofixed[0] == 0)
{
if(twofixed[1] == undefined) { average = 0; }
else
{
if(twofixed[1] <= 99)
{
average = 0.50;
}
else
{
average = 1;
}
}
}
else if(twofixed[0] == 1)
{
if(twofixed[1] == undefined) { average = 1; }
else
{
if(twofixed[1] <= 99)
{
average = 1.50;
}
else
{
average = 2;
}
}
}
else if(twofixed[0] == 2)
{
if(twofixed[1] == undefined) { average = 2; }
else
{
if(twofixed[1] <= 99)
{
average = 2.50;
}
else
{
average = 3;
}
}
}
else if(twofixed[0] == 3)
{
if(twofixed[1] == undefined) { average = 3; }
else
{
if(twofixed[1] <= 99)
{
average = 3.50;
}
else
{
average = 4;
}
}
}
else if(twofixed[0] == 4)
{
if(twofixed[1] == undefined) { status = 'Great'; average = 4; }
else
{
if(twofixed[1] <= 99)
{
average = 4.50;
}
else
{
average = 5;
}
}
}
else if(twofixed[0] == 5)
{
if(twofixed[1] == undefined) { average = 5; }
}
小さなコードで@th3falc0nに感謝します。私は、50行を超えるコードを記述しますが、1行のコードで、長いコードを解決することができます。
みんな助けてくれてありがとう、そして不明瞭な質問と悪い英語をお詫びします