【Java 基础】-- Math.ceil()、Math.floor()和 Math.round() 介绍
在 Java 中,和是用于处理浮点数的小数点的三个常用方法。
·
目录
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 返回 long 或 int)。
- 逻辑: 如果小数部分 ≥ 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() |
四舍五入 | long 或 int |
3.5 |
4 |
注意点
- 正负数处理:
Math.ceil()和Math.floor()在处理负数时会根据方向进行取整:- 向上取整指趋近正无穷大。
- 向下取整指趋近负无穷大。
Math.round()的处理不区分正负数,遵循四舍五入原则。
- 返回值类型:
Math.ceil()和Math.floor()返回double,可以包含小数点。Math.round()返回整数,类型依赖于输入参数。
这三种方法可以根据实际需求灵活使用,比如取整价格、计算分页数量等场景。
更多推荐


所有评论(0)