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

Posted peachh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();
 
    }
}

原文:https://blog.csdn.net/hello_word2/article/details/81808827

以上是关于Double值保留两位小数的四种方法的主要内容,如果未能解决你的问题,请参考以下文章

Java中让浮点型数据保留两位小数的四种方法

java保留小数后两位的四种写法

Java:对double值进行四舍五入,保留两位小数的几种方法

java使double保留两位小数的多方法 java保留两位小数

Android(java)开发之将double类型,强制保留到小数点后两位解决方法。

使double保留两位小数的多方法 java保留两位小数