当前位置: 首页 > 面试题库 >

如何从货币代码获取NumberFormat实例?

万俟穆冉
2023-03-14
问题内容

如何获得与ISO 4217货币代码(例如“ EUR”或“
USD”)相对应的NumberFormat(或DecimalFormat)实例,以便正确设置价格格式?

注意1: 我遇到的问题是NumberFormat/ DecimalFormat类有一个
getCurrencyInstance(Locale locale)方法,但是我不知道如何Locale从ISO 4217货币代码获取对象。

注意2: 还有一个java.util.Currency类具有一个getInstance(String currencyCode)方法(Currency 为给定的ISO
4217货币代码返回实例),但是我仍然无法弄清楚如何从Currency对象到NumberFormat 实例。


问题答案:

我不确定我是否理解正确,但是您可以尝试执行以下操作:

public class CurrencyTest
{
    @Test
    public void testGetNumberFormatForCurrencyCode()
    {
        NumberFormat format = NumberFormat.getInstance();
        format.setMaximumFractionDigits(2);
        Currency currency = Currency.getInstance("USD");
        format.setCurrency(currency);

        System.out.println(format.format(1234.23434));
    }   
}

输出:

1,234.23

请注意,我分别设置了小数位数的最大数量,NumberFormat.setCurrency并没有达到小数位数的最大数量:

设置格式化货币值时此数字格式使用的货币。这不会更新数字格式使用的最小或最大小数位数。



 类似资料:
  • 问题内容: 我在获取某个国家的货币代码时遇到问题。我的任务是获取用户的位置,找出他现在所在的国家/地区,并获取该国家/地区的货币代码。以下是从获取的位置获取国家/地区名称和国家/地区代码的代码: 这工作得很好。现在,我应该使用该类来获取对象。我可以使用该方法。但是类中没有构造函数,仅允许将国家/地区代码作为参数传递。表示我无法为该国家/地区创建对象。如何解决呢?提前致谢。 问题答案: 如果国家/地

  • 我可以使用ISO 4217代码轻松设置货币,例如“USD”。这将使我能够使用抓取美元符号。getSymbol(),但是,我该如何从货币中提取显示名“dollar”? 我有一个微调器,我想用“美元”、“欧元”、“日元”等货币的名称填充。但是,我无法从ISO 4217代码中提取这些名称。这不是很容易吗? 请注意,我不能使用简单的字符串数组来解决这个问题。这是因为我获取了默认的语言环境,并将其货币添加到

  • 问题内容: 中国货币的ISO 4217代码为CNY。由于限制了使用该货币进行的全球自由交易,因此存在第二种“离岸”等价货币,称为CNH。维基百科对此有一些总结。 CNH不在ISO 4217中,但我希望能够在我的应用程序中使用它,而不必编写自己的Currency类。大概在JVM安装目录中有某种列表。如何添加其他货币代码? 问题答案: 似乎Java 7已添加对此功能的支持。 对于较早的版本,您可以使用

  • 我有php youtube上传脚本。这很好,但所有上传的视频都已关闭获利功能。上传视频时,是否可以通过 API 启用获利功能?这是我上传代码的一部分: 这个功能可以,但是上传视频是关闭变现的。我尝试了一些像 但这不是功能。 当我上传后手动打开货币化时,这是一个功能,但我需要让它自动。 有什么想法吗?

  • 问题内容: 我想获得所有可能的可用货币。 Java 7提供了这样的功能。 但是,我仍在使用Java 6进行开发和部署。我可以知道如何获得所有可能的货币吗?代码示例是最受欢迎的。 问题答案: 在研究了ISO表和Currency类文档之后,您似乎可以将货币作为代码或语言环境了。并且Locale类有一个方法。 因此,代码为: 希望这可以帮助。

  • 让我们从一段简单的代码开始,用格式化货币: 打印:。 如果你想格式化货币,这是可以的。 但是我想做的是为给定的货币ISO 4217代码(例如JPY)获得货币符号(例如¥)。 我的第一个猜测是尝试使用: 但这为构造函数(en_US)中给定的区域设置提供了货币符号,在我的例子中是$。 有没有办法通过PHP中的货币ISO 4217代码获得货币符号?