2

我有这段代码

双倍价格 = rs.getDouble("价格");

NumberFormat nf= NumberFormat.getCurrencyInstance();

String formatedPrice = nf.format(price);

buff.append("(" + formatedPrice + ")");

当我运行代码时,一切正常,但货币设置为例如:( C800 )。我想是因为我的国家有货币的“冒号”,但这是过去的事情,我们现在使用美元货币。那么如何更改货币以显示:(400 美元)而不是(C300)。非常感谢您的帮助。

4

4 回答 4

8

改用:

NumberFormat nf= NumberFormat.getCurrencyInstance(Locale.US);
于 2014-02-18T13:52:58.633 回答
1

假设您使用的是美元,您可以使用NumberFormat.getCurrencyInstance(Locale.US)

于 2014-02-18T13:52:37.770 回答
1

您可以将语言环境作为参数添加到 getCurrencyInstance:

NumberFormat nf = NumberFormat.getCurrencyInstance(Locale.US);
于 2014-02-18T13:57:00.023 回答
1

您可以将其默认为 $

这是解决方案

    double price = rs.getDouble("price");
    NumberFormat nf= NumberFormat.getCurrencyInstance();
    nf.setMaximumFractionDigits(2);
        Currency currency = Currency.getInstance(Locale.US);
        nf.setCurrency(currency);
        String formatedPrice = nf.format(price);
         System.out.println("( " + formatedPrice + ")");

这是解决方案

于 2014-02-18T13:57:32.197 回答