java 字符串格式输出

我想将一个int型的数值转换为字符串,但要限定不够长度自动补0,超出就按实际长度显示,如:
int data=1234;
printf("%05d",data);
输出显示:01234
data=12345;
printf("%05d",data);
输出显示:12345
data=12346;
printf("%05d",data);
输出显示:123456

不知道在java中如何实现。

第1个回答  推荐于2016-05-06
public static void main(String[] args) {
int i = 1234;
System.out.println(addZero(i,5));
int j = 12345;
System.out.println(addZero(j,5));
int k = 123456;
System.out.println(addZero(k,5));
}

public static String addZero(int c, int Length) {
String strC = Integer.toString(c);
int strLen = strC.length();
StringBuffer sb = null;
while (strLen < Length) {
sb = new StringBuffer();
sb.append("0").append(strC);
strC = sb.toString();
strLen = strC.length();
}
return strC;
}本回答被提问者采纳
第2个回答  2015-06-03
最后一个没看懂追问

最后一个就是当数值超过了5位数,实际是6位数,则显示出来就是6位,而不是限定长度5位。

追答

12346没有超过5位数啊

相似回答