Java - 楼层划分怎么做?

Java - How to do floor division?

我知道在Python中你可以像这样进行楼层划分:

5 // 2 #2

// 用于 Java 中完全不同的东西。 Java有没有办法做楼层划分?

你可以做到

double val = 5 / 2;
int answer = Math.floor(val);

int answer = Math.floorDiv(5, 2);

如果您调用 System.out.println(answer);,输出将是

2

您可以轻松使用 Math.floorDiv() 方法。 例如:

int a = 15, b = 2; 
System.out.println(Math.floorDiv(a, b));
// Expected output: 7

如果您在除法中使用整数并将解转换为另一个整数(通过将结果存储在另一个整数变量中),则该除法已经是一个底除法:

int a = 5;
int b = 2;
int c = 5/2;
System.out.println(c);
>> 2

正如 khelwood 所说,它也适用于负值,但四舍五入是朝着 0 方向进行的。例如,-1.7 将四舍五入为 -1。