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

javaSe 专栏收录该内容
86 篇文章 0 订阅
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();

    }
}

输出结果:

需要解决问题和获取学习资料可以加群 272112643 :我经常在群里面解决问题 分享学习视频和资料 共同成长!!。 

  • 15
    点赞
  • 8
    评论
  • 47
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值