2014-01-13 57 views
0

我有一個字符串返回的數據饋送,我需要轉換爲正確的BigDecimal格式 - 字符串是格式轉換爲正確的BigDecimal表示

1.6945E3

的,需要翻譯成1694.50,而是隻翻譯成1694.5,導致信息丟失。以下是我正在使用的代碼。

我只是傳遞字符串,並在BigDecimal的一個實例上做一個新的。

關於如何獲得正確的數據表示的任何想法。

感謝 '

+1

「導致的信息丟失」=>什麼樣的信息丟失?你爲什麼期望1694.50而不是1694.500?等等。 – assylias

+2

1694.5等於1694.50;只是一個不同的格式化器 – user1121883

回答

4

這取決於,試試這個

BigDecimal bd = new BigDecimal("1694.50"); 
    System.out.println(bd); 

輸出

1694.50 

但這

BigDecimal bd = new BigDecimal(1694.50); 
    System.out.println(bd); 

產生

1694.5 

BigDecimal bd = new BigDecimal("1694.50"); 
    System.out.printf("%.3f", bd); 

打印

1694.500