2010-08-31 67 views
4

我想將千位分隔符添加到類型爲double的變量。我試過使用String.format("%,f", x);和類似的,但它似乎有一個固定的小數位數,不像Double.toString()如何獲得Double.toString()行爲和千位分隔符?

例如,與值1234.5:

Double.toString():1234.5
String.format():1.234,500000
期望:1.234,5

回答

4

NumberFormat類知道小數點分隔符使用您的用戶的區域設置。

NumberFormat formatter = NumberFormat.getInstance(); 
String formattedDouble = formatter.format(1234.5); 

您可以使用setMaximumFractionDigits方法,如果這給你太多的小數位。

+0

謝謝,'NumberFormat'沒有完美的工作,但它的一個子類'DecimalFormat'沒有。 – dsfsdfsdf 2010-08-31 13:24:10

+0

對於其他千位和小數分隔符,您可以在'NumberFormat.getInstance()'中指定區域設置 – 2017-07-27 06:54:59