Java 문자열 포맷을 사용한 정수 포맷
String을 사용해서 가능한지 궁금합니다.0 앞에 정수를 붙이려면 어떻게 해야 할까요?
예를 들어 다음과 같습니다.
1은 001이 됩니다.
2는 002가 됩니다.
...
11은 011이 됩니다.
12는 012가 됩니다.
...
526은 526으로 유지됩니다.
...기타
현재 다음 코드를 사용해 보고 있습니다.
String imageName = "_%3d" + "_%s";
for( int i = 0; i < 1000; i++ ){
System.out.println( String.format( imageName, i, "foo" ) );
}
공교롭게도 이것은 3개의 공백이 있는 숫자 앞에 있습니다.숫자 앞에 0을 붙이는 게 가능한가요?
String.format("%03d", 1) // => "001"
// │││ └── print the number one
// ││└────── ... as a decimal integer
// │└─────── ... minimum of 3 characters wide
// └──────── ... pad with zeroes instead of spaces
상세한 것에 대하여는, 을 참조해 주세요.
사용하다%03d정수 형식 지정자로 지정합니다.그0는, 번호가 3 자리 미만(이 경우는)이면, 0 으로 채워지는 것을 의미합니다.
그 외의 수식어에 대해서는, 문서를 참조해 주세요.
apache commons-lang이라는 서드파티 라이브러리를 사용하는 경우 다음 솔루션이 유용합니다.
사용하다StringUtilsapache commons-class:
int i = 5;
StringUtils.leftPad(String.valueOf(i), 3, "0"); // --> "005"
~하듯이StringUtils.leftPad()보다 빠르다String.format()
String을 사용하는 대신.포맷(**). 이런 용도로 빌드되는 DecimalFormat Java API를 사용하는 것이 좋습니다.코드로 설명하겠습니다.
String pattern = "000";
double value = 12; //can be 536 or any
DecimalFormat formatter = new DecimalFormat(pattern);
String formattedNumber = formatter.format(value);
System.out.println("Number:" + value + ", Pattern:" +
pattern + ", Formatted Number:" +
formattedNumber);
언급URL : https://stackoverflow.com/questions/6034523/format-an-integer-using-java-string-format
'source' 카테고리의 다른 글
| MariaDB 커넥터에서 orora 설정 후 DB 연결 증가 (0) | 2023.01.16 |
|---|---|
| Python3 프로젝트에서 __pycache_ 폴더 및 .pyc 파일을 제거합니다. (0) | 2023.01.16 |
| 수집되지 않은 유형 오류: null의 속성 '$store'를 읽을 수 없습니다. (0) | 2023.01.16 |
| Java 2D 어레이를 인쇄하는 가장 좋은 방법은 무엇입니까? (0) | 2023.01.16 |
| PHP에서 연결된 클라이언트의 MAC 및 IP 주소를 얻으려면 어떻게 해야 합니까? (0) | 2023.01.16 |