AMA*_*ACB 4 java integer floor
我试图使用 java 的整数除法,据说它需要发言。但是,它向零而不是地板四舍五入。
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
}
}
Run Code Online (Sandbox Code Playgroud)
问题是我不想转换为双精度/浮点数,因为它需要高效。我试图用一种方法来解决这个问题,floorDivide(long a, long b). 我所拥有的是:
static long floorDivide(long a, long b) {
if (a < 0) {
// what do I put here?
}
return a / b;
}
Run Code Online (Sandbox Code Playgroud)
如果没有双精度/浮点数,我怎么能做到这一点?
floorDiv() 来自 Java.Math 正是你想要的。
Run Code Online (Sandbox Code Playgroud)static long floorDiv(long x, long y)返回小于或等于代数商的最大(最接近正无穷大)long 值。
取绝对值,除以-1。
奇怪的错误。
| 归档时间: |
|
| 查看次数: |
7426 次 |
| 最近记录: |