最近再项目中对取到的一系列带很长小数的数字,展现时要求去小数点后两位显示就可以了
开始我是以下写法:
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