Java:使用次要货币符号格式化金额

时间:2014-01-06 12:42:47

标签: java format currency currency-formatting

Java提供了一种使用主要符号格式化货币的好方法,具体取决于给定的区域设置。例如,如果给定的货币是美元,那么您可以分别为美国和英国的区域设置实现$0.35USD0.35。那真的很好。

然而,在某些情况下,需要使用次要货币符号格式化另一种货币金额,我会说更方便用户使用。例如,35¢35c而不是上面的示例。维基百科也says

  分数从1美分到99美分可以表示为一位或两位数,后跟相应的缩写(2¢,5¢,75¢,99¢)

但是,我找不到使用JDK格式化这种风格金额的方法。我已经尝试使用DecimalFormatSymbols,但这只允许配置主要货币符号,因此DecimalFormat仍然使用原始格式,提供类似¢35的内容并不合适。另外,用于修复订单的自定义格式字符串可能不是区域设置/语言/国家不可知(中间空格?前缀或后缀表示法?)。 Joda Money及其MoneyFormatter似乎也缺少此功能。

是否有一种使用次要货币符号格式化金额的好方法?提前谢谢。

P.S。我不确定“主要”和“次要”这两个词是否适合。

1 个答案:

答案 0 :(得分:0)

老实说,我认为在这里做的最好的事情,如果你真的需要次要货币,就是把你自己的信息解析成字符串。如果需要,你甚至可以使用不同的方法制作自己的金钱类,输出字符串或任何你想要的东西!您将不得不评估您的情况,并确定它是否真的值得自定义输出。 :)