2015-02-04 3 views
0

숫자의 왼쪽에 0이 표시된 문자열 (예 : "01")을 인쇄해야 합계 6자를 인쇄 할 수 있습니다. 예를 들어 값 "01"의 문자열을 "000001"로 출력해야합니다.제로 패딩으로 문자열을 출력하는 방법은 무엇입니까?

필자는이 작업을 수행하는 방법을 모색했지만 다양한 형식의 printf를 사용하여 올바른 간격으로 인쇄 할 수 있었지만 공백은 0으로 채워지지 않았습니다. 출력 어떤

String id = "01"; 
System.out.printf("%6s", id); 

:

 1 

내가 6 전과 % 후 0을 추가하면 내가 원하는 지점에 0을 추가해야한다는 읽어 여기에

내가 무엇을 시도했다입니다 하지만 런타임 오류가 발생합니다.

덕분에, 타일러

답변

1

는 문자열을 정수로 변환 한 다음 형식을한다.

String id = "01"; 
int i = Integer.parseInt(id); 
System.out.printf("%06d", i); 

출력 : I 때문에 나중에 그것을 사용해야하는 방법에 대한 문자열에서 변환 할 필요가 없게 기대했다,하지만 난 가정

000001 
+0

난 그냥 그 해결해야 할 것이다. 빠른 응답에 감사드립니다. –

관련 문제