美文网首页
java实现数据四舍五入

java实现数据四舍五入

作者: 忘了呼吸的那只猫 | 来源:发表于2023-05-31 15:02 被阅读0次
    • 1.使用String.format("%.2f",num);

    这种方法可以用float,double接收数据类型,可以四舍五入保留两位小数,但是小数点第二位是0的话会不显示。以下代码用到此方法的语句:

    public class Main {
        public static void main(String[] args) {
            double x = 2.585;
            x = Double.parseDouble(String.format("%.2f",x));
            System.out.println(x);
        }
    }
    
    • 2.使用DecimalFormat
      这种方法可以用float,double接收数据类型。有多重模式可以使用(UPDOWNHALF_UPHALF_DOWN)等等,HALF_UP可以四舍五入,如保留两位小数,小数点第二位是0的话会不显示,整数位有时候会不显示,可以把#号改成0整数位就会显示了。以下代码用到此方法的语句:
    import java.math.RoundingMode;
    import java.text.DecimalFormat;
    
    public class Main {
        public static void main(String[] args) {
            double x = 2.585;
            DecimalFormat df = new DecimalFormat("#.#"); //不省略0用:0.00
            df.setRoundingMode(RoundingMode.HALF_UP);
            String z = df.format(x);
            System.out.println(z);
        }
    }
    

    注意:此种方式只能四舍五入小数点后一位,两位以上,会默认使用HALF_EVEN模式,尾数是5时向偶数位舍入

    • 3.使用BigDecimal,这种方式可以弥补上面只能舍入一位小数的缺陷,看代码
    import java.math.BigDecimal;
    import java.math.RoundingMode;
    
    public class Main {
        public static void main(String[] args) {
            double x = 2.5555555;
            BigDecimal bd = new BigDecimal(String.valueOf(x));
            String z = String.valueOf(bd.setScale(3, RoundingMode.HALF_UP));
            System.out.println(z);
        }
    }
    

    相关文章

      网友评论

          本文标题:java实现数据四舍五入

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