整数除法浮点结果
integer division to float result
我必须将两个整数相除并得到一个浮点数
我的代码:
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?我应该怎么做才能获得正确的浮动?
尝试:
float ws = (float)zahl1/i;
zahl1 / i
被计算为 int 除法,然后由 Float
构造函数转换为 Float。对于浮点除法,将其中一个操作数转换为 float
或 double
:
ws = new Float((float)zahl1 / i);
当您除以两个 int
时,您将执行整数除法,在本例中将得到 22/64 = 0。只有完成此操作后,您才能创建 float
。而 0
的 float
表示是 0.0
。如果你想进行浮点除法,你应该在before dividing:
ws = ((float) zahl1) / i;
因为是整数除法,需要先把int值改成float
float ws = (float) zahl1 / i;
我必须将两个整数相除并得到一个浮点数 我的代码:
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?我应该怎么做才能获得正确的浮动?
尝试:
float ws = (float)zahl1/i;
zahl1 / i
被计算为 int 除法,然后由 Float
构造函数转换为 Float。对于浮点除法,将其中一个操作数转换为 float
或 double
:
ws = new Float((float)zahl1 / i);
当您除以两个 int
时,您将执行整数除法,在本例中将得到 22/64 = 0。只有完成此操作后,您才能创建 float
。而 0
的 float
表示是 0.0
。如果你想进行浮点除法,你应该在before dividing:
ws = ((float) zahl1) / i;
因为是整数除法,需要先把int值改成float
float ws = (float) zahl1 / i;