This question already has answers here:
Why does integer division code give the wrong answer?

(4个答案)


3年前关闭。




我正在用Java做简单的计算。预期结果是51.3348,但我得到的是51.0,这是我的计算

    float percent = (7819140000l-3805200000l)*100/7819140000l;


数据类型有问题吗?我该如何解决才能获得51.3348的价值

提前致谢

最佳答案

将f添加到以下值之一:

float percent = (7819140000l-3805200000l)*100f/7819140000l;

如果您不这样做,Java将按长值进行除法

10-08 03:51