Java 有效地将三个字母的货币名称转换为符号名称(从20美元到20美元)

Java 有效地将三个字母的货币名称转换为符号名称(从20美元到20美元),java,currency,Java,Currency,我有一个格式化字符串,等于USD20 我想把它兑换成20美元 我怎样才能有效地完成它?我应该使用正则表达式,但由于语言环境的变化,国家等位码也会发生变化。您需要的是这个 import java.util.Currency; import java.util.Locale; 然后将数量连接到符号 在这种情况下,如果区域设置发生更改,则只需更改 在locale对象中。其余逻辑将相同 希望这能有所帮助。我认为这应该对您有用(这假设一些字符串已声明和初始化): 一些参考资料

我有一个格式化字符串,等于
USD20

我想把它兑换成20美元

我怎样才能有效地完成它?我应该使用正则表达式,但由于语言环境的变化,国家等位码也会发生变化。

您需要的是这个

      import java.util.Currency; 
      import java.util.Locale;

然后将数量连接到符号

在这种情况下,如果区域设置发生更改,则只需更改 在locale对象中。其余逻辑将相同


希望这能有所帮助。

我认为这应该对您有用(这假设一些
字符串已声明和初始化):

一些参考资料:

public static Locale getDefault()
获取的此实例的默认区域设置的当前值 Java虚拟机

Java虚拟机在基于Java的启动过程中设置默认区域设置 在主机环境上。许多对区域设置敏感的方法都使用它 如果没有明确指定区域设置。可以使用 设置默认方法

和:

public static Currency getInstance(Locale locale) 
返回给定区域设置所在国家/地区的货币实例。 忽略区域设置的语言和变体组件。这个 随着各国货币的变化,结果可能会随着时间的推移而变化。对于 例如,对于欧洲货币基金组织的原始成员国 如果联合,该方法将返回12月之前的旧国家货币 从2002年1月1日起,即当地时间 各自的国家

参数: locale—需要其国家/地区的货币实例的区域设置

返回: 给定区域设置所在国家/地区的货币实例,或null


效率很可能是无关紧要的。更重要的是实现在功能上是正确的,并且功能需求本身是正确的/有意义的。到目前为止,要求是“少几个手指的手”。
public static Locale getDefault()
public static Currency getInstance(Locale locale)