2009-10-05 167 views
4

我有一個值爲10,000,000.00(千萬)的double。我必須 將其轉換爲String。當使用方法toString時,我得到String 「1.0E7」,按照規範是正確的。不幸的是,我需要 String「10,000,000.00」(或等同取決於語言環境)。Java:將double轉換爲字符串

這怎麼能實現呢?

回答

2

看成了 「DecimalFormat的」。無論你想要什麼,它都可以讓你格式化輸出!

+0

感謝您的評論+1。 – Luixv 2009-10-06 09:17:02

5

除格式化程序外,還可以考慮使用java.math.BigDecimal類來精確地表示數字。

需要完整準確度的計算(例如財務計算)最好使用BigDecimal執行。對於工程,圖形和其他數學計算而言,浮點數學更好,因爲在速度上可能會犧牲一些精度。

+0

感謝您的評論+1 – Luixv 2009-10-06 09:17:42

4
public static void main(String[] args) throws ParseException { 
    double aDouble = 10000000.00; 
    DecimalFormat nf = (DecimalFormat) NumberFormat.getInstance(Locale.US); 
    String aString = Double.toString(aDouble); 
    System.out.println(nf.parse(aString)); 
    } 
+0

感謝您的意見+1 – Luixv 2009-10-06 09:18:12