猿问

涉及数学的方法给出与计算器不同的答案

我是java新手,所以请耐心等待。我试图从比赛总数中获得胜利的百分比,但我正在做的事情还很遥远。我获取百分比的方法如下:


public double winPercentage(int wins, int total)

{

    return (wins % total) * 1.00;

}

如果我在 254 场比赛中赢了 52 场,我的答案是 52.0,使用我的计算器,假设获胜次数/总次数*100,相同的答案是 20.47。如果我将模数切换为 / 我不断得到 0.0


我尝试了不同小数位和运算顺序的变化。我似乎无法找到匹配的计算器和方法。


Qyouu
浏览 108回答 2
2回答

达令说

百分号wins % total与计算百分比无关。要在 Java 中计算百分比,您可以编写return&nbsp;100.0&nbsp;*&nbsp;wins&nbsp;/&nbsp;total;在这里,100.0有双重目的:它将结果重新调整为百分点;它将后续除法转换为浮点除法(没有浮点除法,它是整数除法,当 时始终返回零wins < total)。

墨色风雨

Java 使用 % 作为模运算符,因此它总是返回余数作为结果而不是百分比。如果我们将整数除以整数,则结果将不会按照百分比函数的要求精确。例如,如果我们尝试将 52 除以 254,则整数的结果将为 0,而不是 0.2047,因为整数只能保存完整的数字。因此,要获得百分比,您可以使用 double/float 作为参数数据类型,如下所示,而不是整数。&nbsp;public&nbsp;double&nbsp;winPercentage(double&nbsp;wins,&nbsp;double&nbsp;total)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;wins&nbsp;/&nbsp;total&nbsp;*&nbsp;100; &nbsp;&nbsp;}
随时随地看视频慕课网APP

相关分类

Java
我要回答