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
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM