我必须将两个整数除以得到浮点数作为结果 我的代码:
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的结果?我应该做些什么来获得正确的浮动?
答案 0 :(得分:3)
zahl1 / i
计算为int除法,然后由Float
构造函数转换为Float。对于浮点除法,将其中一个操作数强制转换为float
或double
:
ws = new Float((float)zahl1 / i);
答案 1 :(得分:3)
当您划分两个int
时,您执行整数除法,在这种情况下将导致22/64 = 0.只有在完成此操作后才创建float
。 float
的{{1}}表示形式为0
。如果你想进行浮点除法,你应该在之前>>分割:
0.0
答案 2 :(得分:3)
这是因为你正在进行整数除法,你需要首先将int值改为float。
float ws = (float) zahl1 / i;
答案 3 :(得分:2)
尝试:
float ws = (float)zahl1/i;