2012-04-01 55 views
3

可能重复:
Add leading zeroes to number in Java?在Java中显示带前导零(0)的数字?

说,我已经添加两个整数一个是0001,其他0002如果我添加它在Java然后我得到3不过,我想0003。我是否需要制作一个循环来映射出零点,还是有一个更简单的方法。

+0

如何添加整数'0001'和'0002'? – Gabe 2012-04-01 04:11:15

+0

是的,Hovercraft说什么 - 你有两个整数1和2.它们在某些情况下可能表示为0001和0002的事实与它们的实际值无关。 – 2012-04-01 04:13:16

+3

小心!在0001中,'0001'和'0002'在Java中被解释为八进制数,因为它以'0'开始,所以'010'实际上是'8'而不是'10'。 – 2012-04-01 04:14:44

回答

14

不要将数字与字符串表示形式的数字混淆。你的问题围绕后者 - 如何将数字表示为带前导零的字符串,并且有几种可能的解决方案,包括使用DecimalFormat对象或String.format(...)。

int myInt = 5; 
    String myStringRepOfInt = String.format("%05d", myInt); 
    System.out.println("Using String.format: " + myStringRepOfInt); 

    DecimalFormat decimalFormat = new DecimalFormat("00000"); 
    System.out.println("Using DecimalFormat: " + decimalFormat.format(myInt)); 
+0

但是,我将如何添加他们 – Tom 2012-04-01 04:12:59

+1

@Tom:请澄清 - 添加什么?你需要显示你的代码和更多的信息,确切地说你的问题在哪里可以回答。 – 2012-04-01 04:13:44

8

你可以有结果后,用零添加左垫。

String.format("%05d", result); 

用于长度为5的零填充。

编辑:我要删除以前的编辑,这是完全错误的:@

+0

你的编辑是完全错误的,事实上你原来的答案中的代码解决了编辑混乱的问题。请运行一个小程序,让自己知道这是事实。对不起,但我必须给你一个-1票,直到你解决这个错误。 – 2012-04-01 05:56:50