我試圖在Java程序中格式化一些數字。數字將是雙打和整數。處理雙精度時,我只想保留兩位小數點,但是在處理整數時我希望程序不會受到影響。換句話說:Java:使用DecimalFormat格式化雙精度和整數,但保留不包含小數點分隔符的整數
雙打 - 輸入
14.0184849945
雙打 - 輸出
14.01
整數 - 輸入
13
整數 - 輸出
13 (not 13.00)
有沒有一種方法可以在中實現這個 DecimalFormat實例?我的代碼如下,目前爲止:
DecimalFormat df = new DecimalFormat("#,###,##0.00");
DecimalFormatSymbols otherSymbols = new DecimalFormatSymbols(Locale.ENGLISH);
otherSymbols.setDecimalSeparator('.');
otherSymbols.setGroupingSeparator(',');
df.setDecimalFormatSymbols(otherSymbols);
爲什麼一定是相同的'DecimalFormat'實例?有2個'DecimalFormat'實例有什麼問題,一個保留兩位數字越過小數點,一個沒有任何數字越過小數點? – rgettman 2013-04-30 21:29:00
因爲每次編程格式的數字都是雙精度或整數,而不知道形成之前的類型。所以,我想要一個能夠「理解」數字是否是雙精度的修正小數點的實例 - 或者它是一個整數 - 以保持不受影響。 – Lefteris008 2013-05-01 09:50:19