我试图使用Java的整数除法,据说它会向下取整。然而,它实际上是向零舍入而不是向下取整。
问题在于我不想转换为double/float,因为这样效率太低了。我正试图用一个方法
public class Main {
public static void main(String[] args) {
System.out.println(-1 / 100); // should be -1, but is 0
System.out.println(Math.floor(-1d/100d)); // correct
}
}
问题在于我不想转换为double/float,因为这样效率太低了。我正试图用一个方法
floorDivide(long a, long b)
来解决这个问题。我的代码如下:static long floorDivide(long a, long b) {
if (a < 0) {
// what do I put here?
}
return a / b;
}
如何在不使用 double/float 的情况下完成此操作?
int
类型之一转换为double
类型并没有任何低效之处。 - Zircon