使用自定义分隔符将数字格式化为字符串吗?

时间:2019-08-13 18:07:07

标签: java formatting

我想用下划线作为分隔符格式化大量数字。我希望可以使用String.formatDecimalFormat。 示例:

int number = 1234567;
String str1 = String.format("%,d", number);
System.out.println(str1);  // out puts  1,234,567

但用下划线更改逗号

String str = String.format("%_d", number);

引起异常

  

UnknownFormatConversionException:转换='_'

DecimalFormat decimalFormat = new DecimalFormat("#_###");
String str2 = decimalFormat.format(number);
System.out.println(str2); // out puts 1234567_

希望投入1_234_567

1 个答案:

答案 0 :(得分:1)

您可以使用DecimalFormat。有关更多信息,请参见documentation。您必须在格式化程序对象上将分隔符设置为“ _”。例如:

    DecimalFormatSymbols symbols = new DecimalFormatSymbols();
    symbols.setGroupingSeparator('_');
    symbols.setGroupingUsed(true);

    DecimalFormat df = new DecimalFormat("#######", symbols);
    df.setGroupingSize(3);

    String out = df.format(1234567);