以印度编号格式显示货币
在印度,货币值通常以独特的编号格式表示,其中每两个之后放置分隔符数字,最后一组除外,以千位分隔。为了在 Java 中实现这种格式,标准 DecimalFormat 类不提供对可变宽度组的支持。
不幸的是,传统的 Java SE DecimalFormat 在这方面存在不足:
“如果您提供具有多个分组字符的模式,最后一个和整数末尾之间的间隔是使用的“#,##,###,####”==“######”。 ,####" == "##,####,####"."
要克服此限制,请考虑使用 ICU4J(Java Unicode 国际组件)。它的 NumberFormat 类提供了所需的功能:
<code class="java">Format format = com.ibm.icu.text.NumberFormat.getCurrencyInstance(new Locale("en", "in")); System.out.println(format.format(new BigDecimal("100000000")));</code>
此代码将以所需的印度编号格式输出值:
Rs 10,00,00,000.00
请注意 com.ibm.icu.text. NumberFormat 类扩展了 java.text.Format 类,该类提供了 format(Object) 方法。
或者,如果您使用 Android,则可以利用 Android 版本的 java.text.DecimalFormat,如下所示它通过内部使用 ICU 的实现来支持可变宽度组。
以上是如何使用 Java 格式化印度编号系统中的货币?的详细内容。更多信息请关注PHP中文网其他相关文章!