java中不带符号的印度数字格式货币

java中不带符号的印度数字格式货币,java,Java,我已经试过一些东西,但没有成功。没有简单的十进制格式吗 第一个解决方案可以解决问题,但我不想使用符号 Format format = com.ibm.icu.text.NumberFormat.getCurrencyInstance(new Locale("en", "in")); System.out.println(format.format(new BigDecimal("1000000"))); 当分隔符后面有数字时,十进制格式的第二个解决方案会给我带来麻烦 Decim

我已经试过一些东西,但没有成功。没有简单的十进制格式吗

第一个解决方案可以解决问题,但我不想使用符号

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
我怎样才能解决这个问题


例外的输出应该是10,00000.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);

在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);

我不明白你想要什么,你能编辑你的问题并添加你的预期输出吗?@Simon是的,输出应该是10,00000.00,但它也应该适用于较大和较小的数字。我建议你使用第一个解决方案,去掉货币符号(例如,替换字符串)我不明白你想要什么,你能编辑你的问题并添加你的预期输出吗?@Simon是的,输出应该是10,00000.00,但它也应该适用于较大和较小的数字。我建议你使用第一个解决方案,去掉货币符号(例如,替换字符串)