格式字符串变为xxx1,xx10或1 ###,10 ##等

时间:2010-05-18 16:35:13

标签: java string formatting

我有以下数字:1,2,3,4,10

但我想打印这样的数字:

0001
0002
0003
0004
0010

我在谷歌搜索过。关键字是数字格式。但我什么都没有,我得到了,格式化十进制这样的屁股1,000,000.00。我希望你能建议我参考或给我一些解决这个问题的东西。

由于

编辑, 我们可以使用NumberFormat或String.format(“%4d”,somevalue);但它只是在整数之前添加0字符。如果我想使用诸如x#whitespace之类的字符。 所以角色变成: xxxx1 xxx10####1 ###101#### 10###

4 个答案:

答案 0 :(得分:12)

NumberFormat nf = new DecimalFormat("0000");
System.out.println(nf.format(10));

打印“0010”。

答案 1 :(得分:7)

查看this

你想要做的是“填补”你的结果。
例如String.format("%04d", myValue);

答案 2 :(得分:4)

您可以使用String.format();

public static String addLeadingZeroes(int size, int value)
{
    return String.format("%0"+size+"d", value);
}

所以在你的情况下:

System.out.println(addLeadingZeroes(4, 75));

打印

0075

答案 3 :(得分:0)

对于不正确的答案。

int i = 10;
System.out.println((50000 + i + "").substring(1));

打印

0010