我有一個要求,其中有4個浮動變量表示百分比,總和爲100.我需要將浮動浮點數轉換爲long,並將LONG百分比的總數100.使用多個數字計算百分比並將其轉換爲長整數
,如果我做了以下
long longPercentage1 = (long) (floatPercentage1 + 0.5);
long longPercentage2 = (long) (floatPercentage2 + 0.5);
long longPercentage3 = (long) (floatPercentage3 + 0.5);
long longPercentage4 = (long) (floatPercentage4 + 0.5);
它工作的大部分時間。但是,如果floatPercentages是象下面這樣:
95.95 - > 96
1.36 - > 1
1.35 - > 1
1.34 - > 1
在上述情況下,所述總數達到96 + 1 + 1 + 1 = 99。現在
,在下面的一組浮點值,總涉及到101 98.2 - > 98
0.61 - > 1
0.60 - > 1
0.59 - > 1
真的很感謝任何人都可以提供一個很好的解決方案。
將它們轉換成'double'而不是'long'。 – tod
真的沒有解決方案。如果某些百分比小於1,除了將它們舍入爲1或0以外,您實在別無選擇。總會有舍入誤差。 –