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。
我知道在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。