整数除以浮点结果

时间:2015-05-20 07:48:19

标签: java floating-point division

我必须将两个整数除以得到浮点数作为结果 我的代码:

Float ws;
int i = Client.getInstance().getUser().getGespielteSpiele() -Client.getInstance().getUser().getGewonneneSpiele();
int zahl1 = Client.getInstance().getUser().getGewonneneSpiele();

ws = new Float((zahl1 / i));

我用调试器检查值

i = 64

zahl1 = 22

ws = 0.0

为什么ws 0.0的结果?我应该做些什么来获得正确的浮动?

4 个答案:

答案 0 :(得分:3)

zahl1 / i计算为int除法,然后由Float构造函数转换为Float。对于浮点除法,将其中一个操作数强制转换为floatdouble

ws = new Float((float)zahl1 / i);

答案 1 :(得分:3)

当您划分两个int时,您执行整数除法,在这种情况下将导致22/64 = 0.只有在完成此操作后才创建floatfloat的{​​{1}}表示形式为0。如果你想进行浮点除法,你应该在之前>分割:

0.0

答案 2 :(得分:3)

这是因为你正在进行整数除法,你需要首先将int值改为float。

float ws = (float) zahl1 / i;

答案 3 :(得分:2)

尝试:

float ws = (float)zahl1/i;