반응형
Java에서 숫자에 선행 0을 추가 하시겠습니까?
이 질문에는 이미 답변이 있습니다.
- 왼쪽에 0으로 정수를 채우려면 어떻게해야합니까? 답변 14 개
이 결과를 얻는 더 좋은 방법이 있습니까? 이 숫자는 숫자보다 자릿수가 더 많으면 라이브러리에 있어야합니다 (Integer.toString (x, "% 3d") 또는 뭔가)
static String intToString(int num, int digits) {
StringBuffer s = new StringBuffer(digits);
int zeroes = digits - (int) (Math.log(num) / Math.log(10)) - 1;
for (int i = 0; i < zeroes; i++) {
s.append(0);
}
return s.append(num).toString();
}
String.format ( http://java.sun.com/j2se/1.5.0/docs/api/java/util/Formatter.html#syntax )
귀하의 경우에는 다음과 같습니다.
String formatted = String.format("%03d", num);
- 0-0으로 채움
- 3-너비를 3으로 설정
Java 1.5부터는 String.format
메소드를 사용할 수 있습니다 . 예를 들어, 예와 동일한 작업을 수행하려면
String format = String.format("%%0%dd", digits);
String result = String.format(format, num);
return result;
이 경우 숫자로 지정된 너비를 사용하여 형식 문자열을 만든 다음 숫자에 직접 적용합니다. 이 예제의 형식은 다음과 같이 변환됩니다.
%% --> %
0 --> 0
%d --> <value of digits>
d --> d
따라서 숫자가 5와 같으면 형식 문자열이 %05d
되어 너비가 5 인 선행 0을 정수로 지정합니다. 변환 지정자에 대한 자세한 정보 는 Java 문서 를 참조하십시오 String.format
.
다른 옵션은 DecimalFormat 을 사용하여 숫자 문자열을 형식화하는 것입니다. 1.5 이전 세계에 갇힌 경우 String.format을 사용하지 않고도 작업을 수행하는 다른 방법이 있습니다.
static String intToString(int num, int digits) {
assert digits > 0 : "Invalid number of digits";
// create variable length array of zeros
char[] zeros = new char[digits];
Arrays.fill(zeros, '0');
// format number as String
DecimalFormat df = new DecimalFormat(String.valueOf(zeros));
return df.format(num);
}
어때요?
public static String intToString(int num, int digits) {
String output = Integer.toString(num);
while (output.length() < digits) output = "0" + output;
return output;
}
jdk 버전이 1.5 미만인 경우 다음 옵션을 사용할 수 있습니다.
int iTest = 2;
StringBuffer sTest = new StringBuffer("000000"); //if the string size is 6
sTest.append(String.valueOf(iTest));
System.out.println(sTest.substring(sTest.length()-6, sTest.length()));
참고 URL : https://stackoverflow.com/questions/275711/add-leading-zeroes-to-number-in-java
반응형
'Programing' 카테고리의 다른 글
ls 명령 : 파일 당 한 줄씩 재귀 전체 경로 목록을 얻는 방법은 무엇입니까? (0) | 2020.02.17 |
---|---|
HTML 입력 =“파일”CSV (Attribute File Type) 수락 (0) | 2020.02.17 |
왜 조각 대신 활동 대신 조각을 사용해야합니까? (0) | 2020.02.17 |
공백을 플러스 (+) 또는 % 20으로 인코딩 할 때 (0) | 2020.02.17 |
업데이트 쿼리에서 3 테이블 조인을 수행하는 방법은 무엇입니까? (0) | 2020.02.17 |