Java提供了一种使用主要符号格式化货币的好方法,具体取决于给定的区域设置。例如,如果给定的货币是美元,那么您可以分别为美国和英国的区域设置实现$0.35
或USD0.35
。那真的很好。
然而,在某些情况下,需要使用次要货币符号格式化另一种货币金额,我会说更方便用户使用。例如,35¢
或35c
而不是上面的示例。维基百科也says:
分数从1美分到99美分可以表示为一位或两位数,后跟相应的缩写(2¢,5¢,75¢,99¢)
但是,我找不到使用JDK格式化这种风格金额的方法。我已经尝试使用DecimalFormatSymbols
,但这只允许配置主要货币符号,因此DecimalFormat
仍然使用原始格式,提供类似¢35
的内容并不合适。另外,用于修复订单的自定义格式字符串可能不是区域设置/语言/国家不可知(中间空格?前缀或后缀表示法?)。 Joda Money及其MoneyFormatter似乎也缺少此功能。
是否有一种使用次要货币符号格式化金额的好方法?提前谢谢。
P.S。我不确定“主要”和“次要”这两个词是否适合。
答案 0 :(得分:0)
老实说,我认为在这里做的最好的事情,如果你真的需要次要货币,就是把你自己的信息解析成字符串。如果需要,你甚至可以使用不同的方法制作自己的金钱类,输出字符串或任何你想要的东西!您将不得不评估您的情况,并确定它是否真的值得自定义输出。 :)