我是java新手,所以请耐心等待。我试图从比赛总数中获得胜利的百分比,但我正在做的事情还很遥远。我获取百分比的方法如下:public double winPercentage(int wins, int total){ return (wins % total) * 1.00;}如果我在 254 场比赛中赢了 52 场,我的答案是 52.0,使用我的计算器,假设获胜次数/总次数*100,相同的答案是 20.47。如果我将模数切换为 / 我不断得到 0.0我尝试了不同小数位和运算顺序的变化。我似乎无法找到匹配的计算器和方法。
2 回答
达令说
TA贡献1821条经验 获得超6个赞
百分号wins % total
与计算百分比无关。
要在 Java 中计算百分比,您可以编写
return 100.0 * wins / total;
在这里,100.0
有双重目的:
它将结果重新调整为百分点;
它将后续除法转换为浮点除法(没有浮点除法,它是整数除法,当 时始终返回零
wins < total
)。
墨色风雨
TA贡献1853条经验 获得超6个赞
Java 使用 % 作为模运算符,因此它总是返回余数作为结果而不是百分比。
如果我们将整数除以整数,则结果将不会按照百分比函数的要求精确。例如,如果我们尝试将 52 除以 254,则整数的结果将为 0,而不是 0.2047,因为整数只能保存完整的数字。因此,要获得百分比,您可以使用 double/float 作为参数数据类型,如下所示,而不是整数。
public double winPercentage(double wins, double total) { return wins / total * 100; }
添加回答
举报
0/150
提交
取消