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)。
 
         
         
         
         
         
        
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号