【发布时间】:2019-12-20 07:58:58
【问题描述】:
我想用下划线作为分隔符来格式化大数字。我曾希望可以使用String.format 或DecimalFormat。
示例:
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: Conversion = '_'
DecimalFormat decimalFormat = new DecimalFormat("#_###");
String str2 = decimalFormat.format(number);
System.out.println(str2); // out puts 1234567_
期望输出 1_234_567
【问题讨论】:
-
1.将数字格式化为带有逗号分隔符的字符串。 2. 将 ',' 替换为 '_'。
-
@rossum 自己不去想这件事真是太愚蠢了。让它与
String.format("%,d", number).replace('.', '_')一起工作
标签: java formatting