java保留两位小数4种方法(转载)

喵喵最近经常遇到小数点保留的问题,转载一篇Java里面的几种小数点位数控制方法。

这是转载的原地址:https://www.cnblogs.com/chenrenshui/p/6128444.html

新手上路,多多关照。有什么错误请大家在评论区指出。

话不多说,上代码:

import java.math.BigDecimal;
     import java.text.DecimalFormat;
     import java.text.NumberFormat;
     public class format {
         double f = 111231.5585;
         public void m1() {
             BigDecimal bg = new BigDecimal(f);
             double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
             System.out.println(f1);
         }
         /**
          * DecimalFormat转换最简便
          */
         public void m2() {
             DecimalFormat df = new DecimalFormat("#.00");
             System.out.println(df.format(f));
         }
         /**
          * String.format打印最简便
          */
         public void m3() {
             System.out.println(String.format("%.2f", f));
         }
         public void m4() {
             NumberFormat nf = NumberFormat.getNumberInstance();
             nf.setMaximumFractionDigits(2);
             System.out.println(nf.format(f));
         }
         public static void main(String[] args) {
             format f = new format();
             f.m1();
             f.m2();
             f.m3();
             f.m4();
         }
     }