728x90
반응형
#자바 String 문자열 특정 자릿수 만큼 숫자 앞에 0으로 채우는 방법
#자바 String 문자열 특정 자릿수 만큼 숫자 앞에 0으로 채우는 메서드
-원하는 길이만큼 숫자앞에 '0'을 채워준다.
-param : int 길이, long 숫자값
-return : 앞에 '0'이 채워진 String
-예시
public class test {
public static String fillZero(int length, long lvalue) {
String value = "" + lvalue;
return fillZero(length, value);
}
public static String fillZero(int length, String value) {
if (value == null)
return "";
char[] cValue = value.toCharArray();
for (int i = 0; i < cValue.length; i++) {
if (!Character.isDigit(cValue[i])) {
return "";
}
}
String result = value;
int intLength = getStringLength(result);
if (intLength == length) {
return result;
} else if (intLength > length) {
return hanSubstr(length, value);
}
for (int i = 0; i < length; i++) {
result = "0" + result;
i = getStringLength(result) - 1;
}
return result;
}
public static String hanSubstr(int length, String value) {
if (value == null || value.length() == 0) {
return "";
}
int szBytes = value.getBytes().length;
if (szBytes <= length) {
return value;
}
String result = new String(value.getBytes(), 0, length);
if (result.equals("")) {
result = new String(value.getBytes(), 0, length - 1);
}
return result;
}
public static int getStringLength(String str) {
char ch[] = str.toCharArray();
int max = ch.length;
int count = 0;
for (int i = 0; i < max; i++) {
// 0x80: 문자일 경우 +2
if (ch[i] > 0x80)
count++;
count++;
}
return count;
}
public static void main(String[] args) {
System.out.println(fillZero(10, 1111));
}
}
728x90
반응형
'IT > Java' 카테고리의 다른 글
[Java] - 자바 String 문자열 우편번호에 하이픈(-) 추가 하는 방법 (0) | 2021.09.29 |
---|---|
[Java] - 자바 String 문자열 숫자에 소수점, 콤마(,) 찍는 방법 - DecimalFormat (0) | 2021.09.28 |
[Java] - 자바 String 문자열, 숫자 글자수 구하는 방법 (0) | 2021.09.28 |
[Java] - 자바 String 문자열에 포함된 숫자만 골라서 반환하는 방법 (0) | 2021.09.28 |
[Java] - 자바 String 문자열 공백 제거 하는 방법 (trim() 메서드) (0) | 2021.09.28 |
댓글