java - 整数除法浮点结果

标签 java floating-point division

<分区>

我必须将两个整数相除并得到一个 float 我的代码:

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 ?

最佳答案

当您除以两个 int 时,您执行整数除法,在这种情况下,结果将是 22/64 = 0。只有完成此操作后,您才能创建一个 float0float 表示是0.0。如果要进行浮点除法,应该在除法之前进行转换:

ws = ((float) zahl1) / i;

关于java - 整数除法浮点结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30343408/

相关文章:

matlab - 在 MATLAB 中使用 find 函数的问题

ruby - 带整数的 ZeroDivisionError 异常,带 float 的 Nan

php - bcdiv 使用带有科学记数法的非常小的 float 导致 "Division by zero"错误

java - 在Java中生成2个给定日期之间的所有日期

java - 微调器选择的项目使用数据库 android 打开新的数组列表

java - Spring Boot Admin重启后未检测到服务

math - float 学有问题吗?

c - 函数在 C 中分配不正确的浮点值

python - 在 C 中除以大(多)数(得到一个零,当我知道它不为零时)

java - 优化这些用于在 Java 8 中创建 HashMap 的嵌套 for 循环的最佳方法是什么?