为什么最后两行参数为3.4f,3.4调用round取整都返回3,不应该师加上0.5之后返回4吗

来源:3-8 使用 Math 类操作数据

年纪轻轻想有猫

2018-07-20 19:57

package com.数字处理类;

public class IntFunction {

 public static void main(String[] args) {
  // TODO Auto-generated method stub
  //返回一个大于等于参数的整数
  System.out.println("使用cell()方法取整:"+Math.ceil(5.2));
  //返回一个小于等于参数的整数
  System.out.println("使用floor()方法取整:"+Math.floor(2.5));
  //返回一个最接近参数的整数
        System.out.println("使用rint()方法取整:"+Math.rint(2.7));
        //加上0.5之后返回最接近参数的整数
        System.out.println("使用round()方法取整:"+Math.round(3.4f));
        //加上0.5之后返回最接近参数的long类型
        System.out.println("使用round()方法整:"+Math.round(3.4));
 }

}

写回答 关注

2回答

  • weixin_慕雪5341938
    2020-04-28 22:37:57

     “加上0.5之后返回最接近参数的long类型”这句话的意思就是四舍五入。不用管什么加0.5,不用管什么0.5,把这句话理解为四舍五入就对了。

  • qq_Kindergarten_0
    2018-07-20 20:29:20

    查询API知道:

    public static long round(double a)

    返回最接近的参数long ,其中long四舍五入为正无穷大。

    特殊情况:

    • 如果参数是NaN,结果为0。

    • 如果参数为负无穷大或小于或等于值Long.MIN_VALUE的值,则结果等于值Long.MIN_VALUE

    • 如果参数为正无穷大或大于或等于Long.MAX_VALUE的值,则结果等于值Long.MAX_VALUE

    所以这个方法可以看做是四舍五入

    qq_Kin... 回复年纪轻轻想有...

    这样说吧3.5~3.9就是向上取整, 3.4~3.1就是向下取整

    2018-07-21 07:32:06

    共 2 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题