2016-03-15 112 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

它可以帮助,如果你可以解释你的答案,而不只是倾销一些代码。 –