본문으로 바로가기
728x90
반응형

num = 2300
formatted_num = '{:010d}'.format(num)
print(formatted_num)


위 코드에서 '{:010d}'는 10자리 문자열을 생성하는데, : 다음의 0은 빈 자리를 0으로 채우라는 의미이며, 10은 문자열의 길이를 10으로 지정한 것입니다. d는 숫자를 의미하며, format() 함수로부터 전달받은 num 변수의 값을 10자리 문자열로 변환합니다.

따라서,
2300을 입력하면
열자리의 0000002300이 출력됩니다.

또한 다른 방법으로는
lpad라는게 이미 정의되어 있어서
아래와  같은 코드로 쉽게 가능하기도 합니다.

def lpad(s, width, padchar='0'):
    if len(s) >= width:
        return s
    else:
        return (padchar * (width - len(s))) + s


이 함수는 입력된 문자열 s의 길이가 width보다 작을 경우, 왼쪽에 padchar문자를 채워서 문자열의 길이를 width로 맞춥니다.

만약 문자열의 길이가 이미 width보다 크거나 같으면 원래 문자열 s를 반환합니다.

이 함수를 사용하면, 위에서 예시한 숫자를 10자리 문자열로 변환하는 문제는 다음과 같이 해결할 수 있습니다.

즉, 위 코드는 이미 파이썬에 만들어져 숨어 있기 때문에 사용자는 아래와 같이 이용만 하면 됩니다.

num = 2300
formatted_num = lpad(str(num), 10)
print(formatted_num)

728x90
반응형