在 Java 中,整数值(在本例中为长整型)的除法遵循整数算术规则,从而得到整数。除整数时,结果向负无穷大舍入。这可能会导致意外结果,尤其是在尝试计算百分比时。
要解决此问题,您需要在执行除法之前将至少一个输入整数转换为 double(浮点数)。这会将除法强制转换为浮点算术,产生十进制结果。
double completed = 25000; double total = 50000; double percentage = completed / total; // Prints 0.5 System.out.println(percentage); // Prints 0.5
通过将其中一个输入转换为双精度,除法结果也变为双精度,从而提供预期的百分比值。
需要注意的是,按照您最初尝试的方式转换结果(已完成/总计)是不够的。此时整数除法已经发生。转换输入可确保从一开始就使用正确的浮点运算。
以上是为什么 Java 中的整数除法在计算百分比时会产生意外的结果?的详细内容。更多信息请关注PHP中文网其他相关文章!