算术运算有什么问题

Gio*_*gos -1 java

我知道也许是一个愚蠢的问题,但我不明白以下操作有什么问题:

 value = 8.14
 double netvalue = value / (1 + 23 / 100);
Run Code Online (Sandbox Code Playgroud)

结果是:

 netvalue = 8.14
Run Code Online (Sandbox Code Playgroud)

Era*_*ran 14

司有超过此外优先,因此 1 + 23 / 100被评价为1 + (23/100)1 + 0(23/100是0,因为它是INT除法,所以结果是int),所以你正在分裂value由1.

您可以更改2323.0实现浮点除法:

double netvalue = value / (1 + 23.0 / 100);
Run Code Online (Sandbox Code Playgroud)

或者你可以简单地除以1.23:

double netvalue = value / 1.23;
Run Code Online (Sandbox Code Playgroud)