2013-04-29 88 views
4

我需要打印小數字(直方圖上的百分比),但java.text.DecimalFormat會做一些奇怪的事情。適用於:Java DecimalFormat,是否可以在小數部分進行分組?

System.out.println((new DecimalFormat("#,##0.######")).format(123456.000123)); 
System.out.println((new DecimalFormat("#,##0.######")).format(0.000123)); 
System.out.println((new DecimalFormat("#,##0.###x###x###x###")).format(0.001)); 

我:

123,456.00
0.00
0.001xxx 

好像java.text.DecimalFormat設計的格式只貨幣...

是否有可能獲得在小數部分與java.text.DecimalFormat分組?

或建議任何其他格式庫...

我希望這樣的或類似的:

GoodFormater("0.123456") === "0.123'456" 
+0

你對上述幾行希望得到什麼結果? – Keppil 2013-04-29 08:04:37

+0

@Keppil我更新的問題。 – gavenkoa 2013-04-29 08:12:45

+0

請如果有任何downvote - 描述一個理由! – gavenkoa 2013-04-29 08:13:50

回答

0

這似乎從你引以爲只有分組小數點前發生的Javadoc清透。

+0

你能推薦任何其他圖書館用於小數部分的分組嗎? – gavenkoa 2013-04-29 08:31:40

2

說實話,我還沒有看到任何格式化如你所說的小數,可能是現有格式化程序不支持它的原因之一。我也想知道你爲什麼要格式化小數點(只是爲了滿足我的好奇心)。

但我會做這樣的事情,

1)獨立的全量和小數量。 (123123.789789分成123123和789789)

2.)分別格式化它們。 (123,123和789,789)

3.)將它們與.字符連接並創建所需的輸出(123,123.789,789)。

這是一些自定義的工作,但我個人認爲這比從頭開始寫點東西要好。

+1

這是行不通的。小數部分需要從右邊分組,從左邊的整數部分。 – EJP 2013-04-29 08:46:02

相關問題