ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Python] 문자열 앞에 0 채우기
    언어/파이썬 & 장고 2020. 2. 22. 17:03

    보통 문자열 앞에 0을 채우는 행동은 날짜를 문자열로 계산할 때 유용하게 사용됩니다. 예를 들어, 2월을 yyyy/mm/dd로 표시한다고 하면 2020/02/02 와 같이 표현할 수 있습니다. 이 때, 요구 사항때문에 월 또는 일을 정수로 변환하여 계산한 뒤, 다시 문자열로 변경하면 '02' → (정수 변환) 2 → (문자열 변환) '2'가 되어 0을 추가 해줘야 합니다. 이러한 행동을 좀 더 편하게 할 수 있도록 아래에서 설명합니다.

    문자열 타입에서 원하는 개수만큼 0 채우기

    문자열 타입일 경우, 아래와 같이 2가지 방법이 있습니다. 먼저 zfill(개수)를 사용하여 [현재 스트링의 길이 - 개수]만큼 0을 채울 수 있습니다.

    text = '2'
    
    a = text.zfill(2)
    b = text.zfill(10)
    c = text.zfill(1)
    print(a)
    print(b)
    print(c)
    
    # 02
    # 0000000002
    # 2


    만약 채우고 싶은 문자가 0이 아니라면 rjulst()를 사용하도록 합니다. 첫 번째 파라미터는 원하는 개수, 두 번째는 채울 문자입니다. 두 번째 파라미터에 문자가 아닌 문자열을 입력하면 오류가 발생합니다.

    text = '2'
    
    a = text.rjust(2, 'a')
    b = text.rjust(2, '0')
    c = text.rjust(10, 'd')
    print(a)
    print(b)
    print(c)
    
    # a2
    # 02
    # ddddddddd2

    정수 타입에서 원하는 개수만큼 0 채우기

    정수 타입을 변경할 경우, 위 함수를 사용하기 위해 정수 타입으로 변경할 필요는 없습니다. 파이썬에서 제공해주는 format()을 사용하여 손쉽게 0을 채운 후 문자열 타입으로 반환받을 수 있습니다.

    target = 2
    
    a = format(target, '03')
    b = '{0:06d}'.format(target)
    
    print(a)
    print(b)
    
    
    # 002
    # 000002


    댓글