目录

1. Math.ceil(double a)

2. Math.floor(double a)

3. Math.round(double a) 和 Math.round(float a)

区别总结

注意点


     在 Java 中,Math.ceil()Math.floor()Math.round() 是用于处理浮点数的小数点的三个常用方法。它们各自的功能和返回值有所不同,具体说明如下:


1. Math.ceil(double a)

功能: 向上取整(返回大于或等于参数的最小整数值,以 double 类型返回)。

  • 逻辑: 将小数部分向上舍入,即使小数部分非常小(如 0.0001),也会向上取整。
  • 返回值类型: double

示例:

System.out.println(Math.ceil(3.2));  // 输出: 4.0 
System.out.println(Math.ceil(-3.2)); // 输出: -3.0 
System.out.println(Math.ceil(3.0));  // 输出: 3.0

2. Math.floor(double a)

功能: 向下取整(返回小于或等于参数的最大整数值,以 double 类型返回)。

  • 逻辑: 将小数部分向下舍入,即使小数部分非常小(如 0.9999),也会向下取整。
  • 返回值类型: double

示例:

System.out.println(Math.floor(3.8));   // 输出: 3.0
System.out.println(Math.floor(-3.8));  // 输出: -4.0 
System.out.println(Math.floor(3.0));   // 输出: 3.0

3. Math.round(double a)Math.round(float a)

功能: 四舍五入(返回最接近的整数值,具体根据参数是 double 还是 float 返回 longint)。

  • 逻辑: 如果小数部分 ≥ 0.5,则向上舍入;否则向下舍入。
  • 返回值类型:
  • 如果是 double 参数,返回 long
  • 如果是 float 参数,返回 int

示例:

System.out.println(Math.round(3.5));    // 输出: 4 
System.out.println(Math.round(3.4));    // 输出: 3 
System.out.println(Math.round(-3.5));   // 输出: -3 
System.out.println(Math.round(-3.6));   // 输出: -4

区别总结

方法

功能描述

返回值类型

示例输入

示例输出

Math.ceil()

向上取整

double

3.2

4.0

Math.floor()

向下取整

double

3.8

3.0

Math.round()

四舍五入

longint

3.5

4


注意点

  1. 正负数处理:
  • Math.ceil()Math.floor() 在处理负数时会根据方向进行取整:
  • 向上取整指趋近正无穷大。
  • 向下取整指趋近负无穷大。
  • Math.round() 的处理不区分正负数,遵循四舍五入原则。
  1. 返回值类型:
  • Math.ceil()Math.floor() 返回 double,可以包含小数点。
  • Math.round() 返回整数,类型依赖于输入参数。

这三种方法可以根据实际需求灵活使用,比如取整价格、计算分页数量等场景。