为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Qyouu 2023-10-19 21:36:16
我是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)。


查看完整回答
反对 回复 2023-10-19
?
墨色风雨

TA贡献1853条经验 获得超6个赞

  1. Java 使用 % 作为模运算符,因此它总是返回余数作为结果而不是百分比。

  2. 如果我们将整数除以整数,则结果将不会按照百分比函数的要求精确。例如,如果我们尝试将 52 除以 254,则整数的结果将为 0,而不是 0.2047,因为整数只能保存完整的数字。因此,要获得百分比,您可以使用 double/float 作为参数数据类型,如下所示,而不是整数。 

public double winPercentage(double wins, double total) {
     return wins / total * 100;
  }


查看完整回答
反对 回复 2023-10-19
  • 2 回答
  • 0 关注
  • 107 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信