格式化整数以在指定位置插入字符

时间:2012-11-08 06:54:34

标签: java string string-formatting

我想以这样的方式格式化整数,如果不是。如果数字超过3,则应在右边的第4个位置插入逗号,如果没有。如果数字超过6,则应在右边第4和第7位插入逗号,即

123应该成为123
1234应该变成1,234
12345应该变成12,345
123456应该成为123,456
1234567应成为1,234,567

我在SO和互联网上发现了类似的问题,但没有人帮我解决这个问题。

我知道这会导致String.format(format,arguments),但我无法指定第一个参数,即format

任何帮助表示感谢。

2 个答案:

答案 0 :(得分:2)

您可以使用DecimalFormat格式化整数: -

int num = 1234567;
NumberFormat formatter = new DecimalFormat("#,###");
System.out.println("The value is: " + formatter.format(num));

输出: -

The value is: 1,234,567

答案 1 :(得分:1)

使用DecimalFormat格式化输入字符串

DecimalFormat format = new DecimalFormat("#,###");
        int d = 1234;
        System.out.println(format.format(d));