Double值保留两位小数的四种方法

Double值保留两位小数的四种方法
强烈推介IDEA2021.1.3破解激活,IntelliJ IDEA 注册码,2021.1.3IDEA 激活码  

大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说Double值保留两位小数的四种方法,希望能够帮助大家进步!!!

public class DoubleTest {
    //保留两位小数第三位如果大于4会进一位(四舍五入)
    double f = 6.23556;
    /**
      *使用精确小数BigDecimal
      */
    public void fun1() {
        BigDecimal bg = new BigDecimal(f);
        /**
         * 参数:
                newScale - 要返回的 BigDecimal 值的标度。
                roundingMode - 要应用的舍入模式。
          返回:
                一个 BigDecimal,其标度为指定值,其非标度值可以通过此 BigDecimal 的非标度值乘以或除以十的适当次幂来确定。
         */
        double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
        System.out.println(f1);
    }
 
    /**
     * DecimalFormat转换最简便
     */
    public void fun2() {
        DecimalFormat df = new DecimalFormat("#.00");
        System.out.println(df.format(f));
    }
 
    /**
     * String.format打印最简便
     */
    public void fun3() {
        System.out.println(String.format("%.2f", f));
    }
   /**
     *使用NumberFormat
     */    public void fun4() {
        NumberFormat nf = NumberFormat.getNumberInstance();
        /**
         * setMaximumFractionDigits(int newValue)
           设置数的小数部分所允许的最大位数。
         */
        nf.setMaximumFractionDigits(2);
        System.out.println(nf.format(f));
    }
 
    public static void main(String[] args) {
        DoubleTest dt = new DoubleTest();
        dt.fun1();
        dt.fun2();
        dt.fun3();
        dt.fun4();
 
    }
}

Double值保留两位小数的四种方法 

 

本文来源huayang183,由架构君转载发布,观点不代表Java架构师必看的立场,转载请标明来源出处:https://javajgs.com/archives/18268

发表评论