1. 程式人生 > >java 控制輸出小數位數

java 控制輸出小數位數


   DecimalFormat 類主要靠 # 和 0 兩種佔位符號來指定數字長度。0
  表示如果位數不足則以 0 填充,# 表示只要有可能就把數字拉上這個位置。
   * */
  DecimalFormat b = new DecimalFormat("#0.00000");
  System.out.println(b.format(a));
  
  //3    BigDecimal型資料的小數點控制輸出
    // BigDecimal中的setScale方法的第一個引數就 
        //是我們要指定的精度位數,這裡我設為5位小數,但記住,如果 
        //舍入後的結果後面幾位小數是0,則會被省略,就是說0沒被輸出
  
  /*
   * BigDecimal.setScale()方法用於格式化小數點
   setScale(1)表示保留一位小數,預設用四捨五入方式
   setScale(1,BigDecimal.ROUND_DOWN)直接刪除多餘的小數位,如2.35會變成2.3
   setScale(1,BigDecimal.ROUND_UP)進位處理,2.35變成2.4
   setScale(1,BigDecimal.ROUND_HALF_UP)四捨五入,2.35變成2.4
   setScaler(1,BigDecimal.ROUND_HALF_DOWN)四捨五入,2.35變成2.3,如果是5則向下舍
   * */
  BigDecimal bg = new BigDecimal(a);
  double c = bg.setScale(5,BigDecimal.ROUND_HALF_UP).doubleValue();
  //將BigDecimal物件轉換成相應的基本資料型別的變數,可以使用floatValue(),doubleValue()等方法。
  System.out.println(c);
  
  //4
  /*
   *   setMinimumIntegerDigits(3);//設定整數部分至少為3位
             setMaximumFractionDigits(5);//設定小數點後面尾數為5       
    setMinimumFractionDigits(int)
    setMaximumIntegerDigits(int)
              
                建立格式化器(預設地區Local格式):
    NumberFormat.getNumberInstance();
    NumberFormat.getCurrencyInstance();
    NumberFormat.getPercentInstance();
   * */
  NumberFormat d = NumberFormat.getNumberInstance();
  d.setMaximumFractionDigits(5);
  System.out.println(d.format(a));
 }