java - 货币符号和金额之间需要空格

标签 java currency-formatting

我正在尝试像这样打印 INR 格式的货币:

NumberFormat fmt = NumberFormat.getCurrencyInstance();
fmt.setCurrency(Currency.getInstance("INR"));
fmt.format(30382.50);

显示 Rs30,382.50,但在印度它写成 Rs。 30,382.50(参见 http://www.flipkart.com/) 如何在不对 INR 进行硬编码的情况下解决?

最佳答案

这有点 hack,但在非常相似的情况下,我使用了类似的东西

NumberFormat format = NumberFormat.getCurrencyInstance(new Locale("en", "in"));
String currencySymbol = format.format(0.00).replace("0.00", "");
System.out.println(format.format(30382.50).replace(currencySymbol, currencySymbol + " "));

我必须处理的所有货币都涉及两位小数,所以我能够对所有货币执行 "0.00" 但是如果您打算使用日元之类的货币,则必须是调整。有一个 NumberFormat.getCurrency().getSymbol();但它返回 INR 而不是 Rs.,因此不能用于获取货币符号。

关于java - 货币符号和金额之间需要空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6670337/

相关文章:

金钱/货币的html5输入

android - 获取仅一个字符的货币符号(例如$,₹等)(语言环境无关紧要)

iOS:App Store 沙盒为测试用户返回错误的货币

ios - 按国家/地区代码将 NSDecimalNumber 格式化为货币,且不损失精度

javascript - 如何在 JavaScript 中输入时向输入元素添加货币模式?

java - 如何使用 MongoDB 3.0 java 驱动程序执行聚合

java - 无法连接到 Firebird (Ubuntu)

java - 如何将数组添加到首选项 (libGdx)

java - 如何使用 Maven Artifact 作为另一个 Artifact (或模块)的输入?

java - 即使我声明了 Android 权限也不起作用