如何使用java来格式化带有新印度货币符号(₹)的数字。如果有任何解决方法让我们分享。
答案 0 :(得分:4)
在Java正确支持新字符之前,您可以使用其unicode值手动指定货币符号。
印度货币符号的Unicode为U+20B9
因此,要将此字符插入到java字符串中,请将其指定为\u20B9
,而不是默认的DecimalFormat货币值\u00A4
例如:
DecimalFormat formatter = new DecimalFormat("\u20B9 000");
不幸的是,这会硬输出您的输出以始终显示卢比符号。如果需要支持多个语言环境,可以检查user.country系统属性。
boolean iAmInIndia = "IN".equals(System.getProperty("user.country"));
DecimalFormat formatter = iAmInIndia ? new DecimalFormat("\u20B9 000") : new DecimalFormat("\u00A4 000");
此外,用于显示此字符串的组件必须具有包含货币符号的字体。窗口7上的Arial确实存在,但许多其他人没有。
答案 1 :(得分:0)
https://www.karnataka.gov.in/Documents/Rupee_Foradian.ttf在Windows字体文件夹中复制此字体(在RUN中 - >类型字体)。
然后 Font ProMed_Font = new Font(“Rupee Foradian”,Font.PLAIN,10); 将上面的字体设置为标签
示例:label.settext(“100”+“`”)输出将为100 +卢比symblol