double類型保留兩位小數4種方法


public class DoubleFormat {  
  
     double f = 111231.4585;    
     public void m1() {    
         BigDecimal bg = new BigDecimal(f);    
         double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();    
         System.out.println(f1);    
     }    
     /**  
      * DecimalFormat轉換最簡便  
      */    
     public void m2() {    
         //#.00 表示兩位小數  
         DecimalFormat df = new DecimalFormat("#0.00");    
         System.out.println(df.format(f));    
     }    
       
     /**  
      * String.format打印最簡便  
      */    
     public void m3() {    
         //%.2f  %.表示 小數點前任意位數   2 表示兩位小數 格式后的結果為f 表示浮點型  
         System.out.println(String.format("%.2f", f));    
     }    
       
     public void m4() {    
          
         NumberFormat nf = NumberFormat.getNumberInstance();    
         //digits 顯示的數字位數 為格式化對象設定小數點后的顯示的最多位,顯示的最后位是舍入的  
         nf.setMaximumFractionDigits(2);    
         System.out.println(nf.format(f));    
     }   
       
     public static void main(String[] args) {    
         DoubleFormat f = new DoubleFormat();    
         f.m1();    
         f.m2();    
         f.m3();    
         f.m4();    
     }    
       
       
     //還有一種直接向上取整數    
   //java:Java的取整函數  
  
   //Math.floor()、Math.ceil()、BigDecimal都是Java中的取整函數,但返回值卻不一樣    
                
    /*        Math.floor()  通過該函數計算后的返回值是舍去小數點后的數值   
            如:Math.floor(3.2)返回3   
            Math.floor(3.9)返回3   
            Math.floor(3.0)返回3   
               
            Math.ceil()   
            ceil函數只要小數點非0,將返回整數部分+1   
            如:Math.ceil(3.2)返回4   
            Math.ceil(3.9)返回4   
            Math.ceil(3.0)返回3*/  
              
 }   

 


免責聲明!

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



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