最近再項目中對取到的一系列帶很長小數的數字,展現時要求去小數點后兩位顯示就可以了
開始我是以下寫法:
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
