我正在打印INR格式的货币,如下所示:
NumberFormat fmt = NumberFormat.getCurrencyInstance(); fmt.setCurrency(Currency.getInstance("INR")); fmt.format(30382.50);
显示Rs30,382.50,但在印度它写的卢比. 30382.50(见http://www.flipkart.com/)
如何解决无硬编码的INR?
解决方法
这是一个黑客,但在类似的情况下,我使用了这样的东西
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.所以不能用于获得货币符号.