SeouliteLab

[Java/자바] 숫자 왼쪽에 0으로 채우기 본문

프로그래밍

[Java/자바] 숫자 왼쪽에 0으로 채우기

Seoulite Lab 2024. 3. 7. 09:08

Java에서는 숫자를 특정 자릿수로 맞추고자 할 때 숫자 왼쪽에 0으로 채워야 할 때가 있습니다. 이를 위해 Java에서는 여러 가지 방법을 제공합니다. 아래에서는 숫자 왼쪽에 0으로 채우는 여러 가지 방법과 예제를 살펴보겠습니다.

예제 1: String.format() 메서드 사용

public class PaddingExample {
    public static void main(String[] args) {
        int number = 123;
        String paddedNumber = String.format("%06d", number);
        System.out.println("결과: " + paddedNumber);
    }
}

위 예제는 String.format() 메서드를 사용하여 숫자를 왼쪽에 0으로 채우는 방법입니다. 포맷 문자열 "%06d"는 총 6자리 숫자로 만들고, 빈 자리는 0으로 채웁니다.

예제 2: StringUtils.leftPad() 메서드 사용

import org.apache.commons.lang3.StringUtils;

public class PaddingExample {
    public static void main(String[] args) {
        int number = 456;
        String paddedNumber = StringUtils.leftPad(String.valueOf(number), 6, '0');
        System.out.println("결과: " + paddedNumber);
    }
}

위 예제는 Apache Commons Lang 라이브러리의 StringUtils.leftPad() 메서드를 사용하여 숫자를 왼쪽에 0으로 채우는 방법입니다. 첫 번째 매개변수로 숫자를 문자열로 변환하고, 두 번째 매개변수로 총 자릿수를 지정하고, 세 번째 매개변수로 채울 문자를 지정합니다.

예제 3: 자리수 계산하여 직접 구현

public class PaddingExample {
    public static void main(String[] args) {
        int number = 789;
        int totalDigits = 6;
        String paddedNumber = padLeftZeros(number, totalDigits);
        System.out.println("결과: " + paddedNumber);
    }
    
    private static String padLeftZeros(int number, int totalDigits) {
        String formatted = String.valueOf(number);
        int length = formatted.length();
        if (length < totalDigits) {
            StringBuilder builder = new StringBuilder();
            for (int i = 0; i < totalDigits - length; i++) {
                builder.append("0");
            }
            builder.append(formatted);
            formatted = builder.toString();
        }
        return formatted;
    }
}

위 예제는 직접 메서드를 구현하여 숫자를 왼쪽에 0으로 채우는 방법입니다. 지정된 자릿수보다 적은 경우에만 0을 추가하도록 로직을 작성합니다.