美文网首页
java中对浮点数进行四舍五入取整

java中对浮点数进行四舍五入取整

作者: 宽宽侠 | 来源:发表于2018-06-28 10:54 被阅读0次

    在使用Double类型的数据时 碰到 需要转换为int类型的需求

    起初使用直接转型的方式

    Double number = new Double("123.3123");

    Integer result = (Integer)number;

    这是个低级错误,,Integer有对应的将String类型转化为整形的方法,还可以直接将Long转型为Integer类型,但是Double类型是不能转型为Integer类型因为两个是不同的类,Double类也有自带的intValue方法将自身转化为整数,但是小数部分直接移除,这个不符合四舍五入的需求

    之后查阅资料要使用BigDecimal这个类进行转换BigDecimal类中提供setScale进行浮点数四舍五入的功能代码如下:

    Double number = new Double("123.3123");

    BigDecimal a =new BigDecimal(number).setScale(0, BigDecimal.ROUND_HALF_UP);

    Integer result = a.intValue();

    这样就完成Double类型的四舍五入需求了。。。。

    BigDecimal a =new BigDecimal(number).setScale(x, BigDecimal.ROUND_HALF_UP);

    当然设置x的值就相当于保留几位小数

    相关文章

      网友评论

          本文标题:java中对浮点数进行四舍五入取整

          本文链接:https://www.haomeiwen.com/subject/pufgyftx.html