0
我有一個字符串返回的數據饋送,我需要轉換爲正確的BigDecimal格式 - 字符串是格式轉換爲正確的BigDecimal表示
1.6945E3
的,需要翻譯成1694.50,而是隻翻譯成1694.5,導致信息丟失。以下是我正在使用的代碼。
我只是傳遞字符串,並在BigDecimal的一個實例上做一個新的。
關於如何獲得正確的數據表示的任何想法。
感謝 '
我有一個字符串返回的數據饋送,我需要轉換爲正確的BigDecimal格式 - 字符串是格式轉換爲正確的BigDecimal表示
1.6945E3
的,需要翻譯成1694.50,而是隻翻譯成1694.5,導致信息丟失。以下是我正在使用的代碼。
我只是傳遞字符串,並在BigDecimal的一個實例上做一個新的。
關於如何獲得正確的數據表示的任何想法。
感謝 '
這取決於,試試這個
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
「導致的信息丟失」=>什麼樣的信息丟失?你爲什麼期望1694.50而不是1694.500?等等。 – assylias
1694.5等於1694.50;只是一個不同的格式化器 – user1121883