2010-12-16 51 views
1

我使用BigDecimal如下:如何指定要打印的BigDecimal的小數位數?

BigDecimal val = object.getValue();//it returns BigDecimal type value 

val含有12.2300。我想在我的頁面上顯示12.23。我怎樣才能做到這一點?

+2

HTTP的可能欺騙:// stackoverflow.com/questions/3395825/how-to-print-formatted-bigdecimal-values – 2010-12-16 05:35:00

回答

1

你可以使用的DecimalFormat或者你可以用字符串操作

 public static String format(BigDecimal big, int precision){ 
      String bigS = big.toString(); 
      int index = bigS.indexOf('.'); 
      String add = bigS.substring(index, index + precision + 1); 
      String formatted = big.longValue() + "" + add; 

      return formatted; 
     } 

     public static void main(String[] args) { 

      BigDecimal big = new BigDecimal(2342342232.23232); 
      System.out.println(format(big, 2)); 
      System.out.println(format(big, 3)); 
     } 

當然操縱它,DecimalFormat的是聰明的方式

+1

一個人不應該依賴'toString()'。 ;) – Bozho 2010-12-16 06:40:57