喵喵最近经常遇到小数点保留的问题,转载一篇Java里面的几种小数点位数控制方法。
这是转载的原地址:https://www.cnblogs.com/chenrenshui/p/6128444.html
新手上路,多多关照。有什么错误请大家在评论区指出。
话不多说,上代码:
1 import java.math.BigDecimal; 2 import java.text.DecimalFormat; 3 import java.text.NumberFormat; 4 public class format { 5 double f = 111231.5585; 6 public void m1() { 7 BigDecimal bg = new BigDecimal(f); 8 double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); 9 System.out.println(f1); 10 } 11 /** 12 * DecimalFormat转换最简便 13 */ 14 public void m2() { 15 DecimalFormat df = new DecimalFormat("#.00"); 16 System.out.println(df.format(f)); 17 } 18 /** 19 * String.format打印最简便 20 */ 21 public void m3() { 22 System.out.println(String.format("%.2f", f)); 23 } 24 public void m4() { 25 NumberFormat nf = NumberFormat.getNumberInstance(); 26 nf.setMaximumFractionDigits(2); 27 System.out.println(nf.format(f)); 28 } 29 public static void main(String[] args) { 30 format f = new format(); 31 f.m1(); 32 f.m2(); 33 f.m3(); 34 f.m4(); 35 } 36 }