根据货币代码格式化货币

时间:2018-07-05 08:49:02

标签: java android formatting currency currency-formatting

我有一个货币列表,让我们简单点说{USD, CAD, EUR, VND}(但实际上我们支持40种货币)。我希望能够根据这些货币代码正确格式化数字。

要求:

1。。小数点分隔符和符号位置(数字的左侧或右侧)必须基于货币代码:

  

“ USD”-> $ 1,200.45(无论手机使用哪种语言和地区,   使用时,格式应为使用该货币代码的“最大”国家/地区之一(在本例中为美国)

编辑:这是通过手动构建String-> Locale的哈希图解决的,请参阅@David Conrad的评论。

2。符号必须始终是符号而不是字母:

  

“ USD”->“ $”(不是“ US $”或“ USD”)
   “ CAD”->“ $”(不是“ CA $”或“ CAD”)
   “ VND”->“₫” ...

我正在使用我的自定义字体,并确保其中包含所有受支持的符号。


我尝试使用getNumberInstance(和getCurrencyInstance)[answer],但是它不适用于所有电话(某些电话显示“ US $”,而不仅仅是“ $” )。 我尝试构建一个将货币代码链接到语言环境[answer]的哈希表,但这是一对多的关系,因此不可靠。

我现在处于尝试Joda Money甚至JavaMoney/jsr354-api的边缘,但是经过研究,这两个库都有其自身的特点,如果可能的话,我希望避免包含任何其他库。 / p>

那么,我们该怎么做?

0 个答案:

没有答案