最近再项目中对取到的一系列带很长小数的数字,展现时要求去小数点后两位显示就可以了

开始我是以下写法:

 double  a =  0.1234455;

DecimalFormat decimalFormat=new DecimalFormat(".00");
decimalFormat.format(a);

结果发现转换后得到的是: .12

后来百度了一下,特整理如下:
DecimalFormat decimalFormat=new DecimalFormat(".00");
decimalFormat.format(a);   //得到:.12
DecimalFormat decimalFormat2=new DecimalFormat("#.00");
decimalFormat2.format(a);   //得到:.12
DecimalFormat decimalFormat3=new DecimalFormat("0.00");
decimalFormat3.format(a);   //得到:0.12
DecimalFormat decimalFormat4=new DecimalFormat("#.##");
decimalFormat4.format(a);   //得到:0.12
System.out.println(String.format("%.2f", a));    //得到: 0.12

BigDecimal b = new BigDecimal(a);
double d = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(d); //得到: 0.12 NumberFormat f = NumberFormat.getNumberInstance();
f.setMaximumFractionDigits(2);
System.out.println(f.format(a)); //得到: 0.12
 
 
04-14 04:09