2016-03-15 42 views
1

我想要使用數字格式程序,同時格式化negetive值,它附加()在它周圍。Java貨幣格式化程序向負值添加圓括號

這裏是代碼

double amount =-200.0; 
    Locale locale = new Locale("en", "US");  
    NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance(locale); 
    System.out.println(currencyFormatter.format(amount)); 

當我在看的格式,它具有負的前綴爲「($」。這確實傷害。我使用java.text.NumberFormat中的數字格式。

是否有可以使用不加「()」到我的負值任何其他格式。?

+0

下面是更多關於這個主題:http://stackoverflow.com/questions/2056400/format-negative-amount-of-usd-with-a-minus-sign-not-brackets-java –

回答

0

也許這是最好避免在這種情況下,貨幣格式化?您可以嘗試通用十進制格式,而不是:

double amount = -200.0; 
DecimalFormat formatter = new DecimalFormat("$#,##0.00;$-#,##0.00"); 
String result = formatter.format(amount); 
System.out.println(result); 

傳遞給構造函數的模式阻止使用括號作爲底片(當然,您可以用任何你喜歡的方式改變它)。

+1

它可以幫助,如果你可以解釋你的答案,而不只是傾銷一些代碼。 –