欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > 【Java 基础】-- Math.ceil()、Math.floor()和 Math.round() 介绍

【Java 基础】-- Math.ceil()、Math.floor()和 Math.round() 介绍

2025/5/7 11:40:30 来源:https://blog.csdn.net/high2011/article/details/144748201  浏览:    关键词:【Java 基础】-- Math.ceil()、Math.floor()和 Math.round() 介绍

目录

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()向上取整double3.24.0
Math.floor()向下取整double3.83.0
Math.round()四舍五入longint3.54

注意点

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

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词