我有一個值爲10,000,000.00(千萬)的double。我必須 將其轉換爲String
。當使用方法toString
時,我得到String
「1.0E7」,按照規範是正確的。不幸的是,我需要 String
「10,000,000.00」(或等同取決於語言環境)。Java:將double轉換爲字符串
這怎麼能實現呢?
我有一個值爲10,000,000.00(千萬)的double。我必須 將其轉換爲String
。當使用方法toString
時,我得到String
「1.0E7」,按照規範是正確的。不幸的是,我需要 String
「10,000,000.00」(或等同取決於語言環境)。Java:將double轉換爲字符串
這怎麼能實現呢?
嘗試要麼
的NumberFormat http://java.sun.com/javase/6/docs/api/java/text/NumberFormat.html
的DecimalFormat http://java.sun.com/javase/6/docs/api/java/text/DecimalFormat.html
看成了 「DecimalFormat的」。無論你想要什麼,它都可以讓你格式化輸出!
除格式化程序外,還可以考慮使用java.math.BigDecimal
類來精確地表示數字。
需要完整準確度的計算(例如財務計算)最好使用BigDecimal
執行。對於工程,圖形和其他數學計算而言,浮點數學更好,因爲在速度上可能會犧牲一些精度。
感謝您的評論+1 – Luixv 2009-10-06 09:17:42
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));
}
感謝您的意見+1 – Luixv 2009-10-06 09:18:12
感謝您的評論+1。 – Luixv 2009-10-06 09:17:02