[파이썬] 돈 금액 숫자 콤마 표시하기

반응형
    반응형

    현금콤마 표시하기

    돈을 숫자로 표지할 때 숫자 3자리(천단위) 마다 콤마를 찍는데요. 콤마로 이 돈이 얼마인지 한눈에 알 수 있도록 해줍니다. 파이썬으로 이런 숫자표기를 하는 방법에 대해 알아볼까 합니다.

    str.format() 메서드 사용

    숫자콤마를 하려면 str.format()에서 format_spec이라는 인자를 쓰면 되는데요. value 값이 자동으로 콤마를 표시해서 나옵니다.

    formatted_value = format(value, format_spec)
    • value: 콤마를 찍을 숫자입니다.
    • format_spec: value 형태를 변경해주는 기능을 포맷 스펙이라고 합니다. 현재는 콤마를 사용해야 하니 format_spec에 콤마(,) 입력합니다.format_spec에 대한 자세한 내용은 가이드 사이트를 확인하시기 바랍니다. https://docs.python.org/2/library/string.html#formatspec
    value = 100000000
    
    formatted_value = format(value,",")
    print(formatted_value)

    다른 방법으로는 패딩을 이용할 수 있습니다. 소수점 만들 때 주로 쓰는 것인데 콤마(,)만 입력하면 숫자콤마로 바꿔줍니다.

    value = 100000000
    
    formatted_value = '{0:,}'.format(value)
    print(formatted_value)

    f-string 사용

    str.format()과 같이 f-string에서도 가능합니다.

    value = 100000000
    formatted_value = f"{value:,}"
    print(formatted_value)  

    소수점과 같이 사용하고 싶다면?

    고정 소수점을 주면서 숫자콤마를 표시하고 싶다면 다음과 같이 합니다. str.format() 방법으로 보여드리겠습니다. f-string도 같은 방식으로 하면 되니 참고하시기 바랍니다.

    integer_value = 123456789
    float_value = 123456789.2468
    
    int_num_comma = '{0:,.2f}'.format(integer_value)
    float_num_comma = '{0:,.2f}'.format(float_value)
    
    print(int_num_comma)
    print(float_num_comma)

     

    함께 보면 좋은 글

    [파이썬] 문자열 포맷팅과 부등식(feat.패딩)

    [Python] 문자열(string) 다루기

    [Python/기초] - 문자열 포맷 출력

    댓글

    Designed by JB FACTORY

    ....