java 关于数字取小数点后两位出现整数0没有的问题

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

开始我是以下写法:

 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
 
 
posted @ 2019-10-25 20:24  zc1212  阅读(1647)  评论(0编辑  收藏  举报