我是java新手,所以請耐心等待。我試圖從比賽總數(shù)中獲得勝利的百分比,但我正在做的事情還很遙遠(yuǎn)。我獲取百分比的方法如下:public double winPercentage(int wins, int total){ return (wins % total) * 1.00;}如果我在 254 場比賽中贏了 52 場,我的答案是 52.0,使用我的計(jì)算器,假設(shè)獲勝次數(shù)/總次數(shù)*100,相同的答案是 20.47。如果我將模數(shù)切換為 / 我不斷得到 0.0我嘗試了不同小數(shù)位和運(yùn)算順序的變化。我似乎無法找到匹配的計(jì)算器和方法。
2 回答

達(dá)令說
TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個(gè)贊
百分號(hào)wins % total
與計(jì)算百分比無關(guān)。
要在 Java 中計(jì)算百分比,您可以編寫
return 100.0 * wins / total;
在這里,100.0
有雙重目的:
它將結(jié)果重新調(diào)整為百分點(diǎn);
它將后續(xù)除法轉(zhuǎn)換為浮點(diǎn)除法(沒有浮點(diǎn)除法,它是整數(shù)除法,當(dāng) 時(shí)始終返回零
wins < total
)。

墨色風(fēng)雨
TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個(gè)贊
Java 使用 % 作為模運(yùn)算符,因此它總是返回余數(shù)作為結(jié)果而不是百分比。
如果我們將整數(shù)除以整數(shù),則結(jié)果將不會(huì)按照百分比函數(shù)的要求精確。例如,如果我們嘗試將 52 除以 254,則整數(shù)的結(jié)果將為 0,而不是 0.2047,因?yàn)檎麛?shù)只能保存完整的數(shù)字。因此,要獲得百分比,您可以使用 double/float 作為參數(shù)數(shù)據(jù)類型,如下所示,而不是整數(shù)。
public double winPercentage(double wins, double total) { return wins / total * 100; }
添加回答
舉報(bào)
0/150
提交
取消