我已经尝试过一些东西,但没有成功。没有简单的十进制格式吗?
第一个解决方案可以解决问题,但我不想有符号
Format format = com.ibm.icu.text.NumberFormat.getCurrencyInstance(new Locale("en", "in"));
System.out.println(format.format(new BigDecimal("1000000")));
当分隔符后面有数字时,使用十进制格式的第二种解决方案会给我带来麻烦。
DecimalFormatSymbols symbols5 = new DecimalFormatSymbols();
symbols5.setDecimalSeparator('.');
symbols5.setGroupingSeparator(',');
NumberFormat goodNumberFormat5 = new DecimalFormat("##,##,##1", symbols5);
System.out.println("************");
System.out.println("10,00,000.00");
System.out.println("************");
System.out.println(goodNumberFormat5.format(new BigDecimal(1000000)));
System.out.println(goodNumberFormat5.format(new BigDecimal(1000000.00)));
System.out.println();
其输出是:
? 10,00,000.00
************
10,00,000.00
************
1,00,00,001
1,00,00,001
我该如何解决这个问题?
异常(exception)的输出应该是 10,00,000.00
最佳答案
在 RC 的帮助下,我找到了这个解决方案。
Format format = com.ibm.icu.text.NumberFormat.getCurrencyInstance(new Locale("en", "in"));
String str = format.format(1000000);
String strWithoutSymbol = "";
strWithoutSymbol = str.substring(1,str.length());
System.out.println(strWithoutSymbol);
关于java - 在java中以印度编号格式格式化货币而不带符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34852803/