java中Math的floor,round和ceil的区别
简介
floor表示小于等于该值的最大整数,向下取整,趋近于正无穷。ceil表示大于等于该值的最小整数,向上取整,趋近于负无穷。round表示最接近该值的整数,趋近于正无穷。
测试代码
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Double> doubles = List.of(1.4, 1.5, 1.6, -1.4, -1.5, -1.6);
for (Double aDouble : doubles) {
System.out.println(
Math.floor(aDouble) + "\t\t" + Math.round(aDouble) + "\t\t" + Math.ceil(aDouble));
}
}
}
测试结果
floor | round | ceil | |
---|---|---|---|
1.4 | 1.0 | 1 | 2.0 |
1.5 | 1.0 | 2 | 2.0 |
1.6 | 1.0 | 2 | 2.0 |
-1.4 | -2.0 | -1 | -1.0 |
-1.5 | -2.0 | -1 | -1.0 |
-1.6 | -2.0 | -2 | -1.0 |
floor表示向下取整,ceil表示向上取整,round表示最接近整数,如果左右一样大,取大值,-1.5到-1和-2一样近,取-1,Math.round(x)就等于Math.floor(x+0.5)。