2013-11-24 75 views
1

我正在做一個項目,我需要將一些用戶輸入保存爲雙精度型,格式化爲4位小數。我可以設法讓字符串具有正確的格式,但解析它爲Double打破它。下面是我在做什麼的例子..decimalFormat保存爲雙精度型

 DecimalFormat format = new DecimalFormat("#.0000"); 

    String example = "1.23"; 
    Double num = Double.parseDouble(example); 

    String str = format.format(num); 

    Double num1 = Double.parseDouble(str); 

    System.out.println(num1); 

此打印

1.23 

時,我想它打印

1.2300 

回答

3

你跟混淆數數字的字符串表示形式。這是兩個完全不同的東西。浮點數有一個準確性,但它不明白顯示有效數字的意思。這就像要求抽象數字0知道00是一樣的。

要正確顯示數量,使用您已經創建了格式化:

System.out.println(format.format(num1)); 
+0

哇..我應該已經看到了。謝謝。 –

+0

@ user2880779:不客氣。 –