java中的不同结果如何才能得到纠正

Tom*_*Tom -1 java math

简单计算在java中给出了不同的结果.

int a=5363/12*5;

out.println(a);// result is 2230 
Run Code Online (Sandbox Code Playgroud)

但实际上结果应该是 2234.5

如何纠正这个java结果?

NPE*_*NPE 6

两个问题:

  1. 表达式5363/12*5给出整数结果(特别是除法是整数).
  2. 变量a的类型为int(整数).

修理:

double a=5363.0/12*5;
out.println(a);
Run Code Online (Sandbox Code Playgroud)

请注意,通常,在使用浮点运算时,您不能期望得到精确的结果.以下是一个非常好的读物:每个计算机科学家应该知道的浮点运算.