java - 与整数 : result is only zero - Java 的运算

标签 java

我必须对整数进行运算,非常简单:

a=b/c*d

其中所有变量都是整数,但无论参数的值是什么,结果都是零。我猜测是对这种类型的数据(int)的操作有问题。

我解决了先转换 float 再转换整数的问题,但我想知道是否有更好的方法。

最佳答案

/ 运算符与整数一起使用时,会进行整数除法,我怀疑这不是您想要的。特别是,2/5 为零。

正如您所说,解决此问题的方法是将一个或多个操作数转换为例如a float,然后使用 Math.floorMath.roundMath 将生成的浮点值转回整数。天花板。这确实不是一个糟糕的解决方案;你有一堆整数,但你确实想要浮点计算。输出可能不是整数,因此您可以指定如何将其转换回来。

更重要的是,我不知道有任何语法可以比(例如)更简洁和可读:

a = Math.round((float)b / c * d)

关于java - 与整数 : result is only zero - Java 的运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3412980/

相关文章:

java - 互联网关闭时无法运行简单的 "Hello World!"Java 程序

java - 自动生成单元测试

java - 递归 - Kata 挑战

java - jsch 并运行 "sudo su -"

java - 查找数组实现包中的第 k 个最大元素

java - 消息负载的类型为 : BufferInputStream

java - Arquillian Cube 的容器对象中是否有主机名属性?

java - 不同存储库中源代码和测试代码的代码覆盖率生成

java - 忽略转义 - Java

JavaFX Java 11 及更高版本