1

以下是数字格式化程序的代码:

double value = 12345.678;
// locale preference should be retrieved from user preferences
Locale defaultLocale = new Locale("en", "US", "USD");
NumberFormat nf = NumberFormat.getCurrencyInstance(defaultLocale);
String formattedValue = nf.format(value);
System.out.println(formattedValue);

输出值:12,345.68 美元但在这里,我希望我的输出值为:12,345.68 美元。我需要在价值结束时获得美元(货币代码)。

另外我正在调用 Web 服务以获取值,如何将值传递到必填字段并格式化?

4

2 回答 2

12

这段代码可以解决问题:

    double value = 12345.678;
    java.util.Currency usd = java.util.Currency.getInstance("USD");
    java.text.NumberFormat format = java.text.NumberFormat.getCurrencyInstance(java.util.Locale.US);
    format.setCurrency(usd);
    System.out.println(format.format(value) + " " + usd.getCurrencyCode());

输出 :

$12,345.68 USD
于 2012-05-21T20:01:02.740 回答
5

为什么你不能自己附加那个值?

System.out.println(formattedValue + " USD");
于 2012-05-21T19:53:30.420 回答