Python format(천단위 콤마 삽입하기)

Gom La·2023년 5월 4일
0
post-thumbnail

✔️ 숫자가 천, 만 단위 이상으로 커지면 한 번에 몇자리 수인지 읽기가 어렵다.

123958674

✔️ 숫자의 자릿 수를 읽어 천자리 마다 ","를 찍어주는 로직을 넣어 Python의 함수로 만들 수 있겠지만, Python에서는 format이라는 함수가 있기 때문에 이를 이용하여 천자리 마다 ","를 삽입하여 보자.

price = 123958674

print(format(price, ',d'))
print(format(price, ',f'))

✔️ format() 함수의 첫 번째 인자로 ","를 삽입할 값, 두 번째 인자로는 "d" 또는 "f"를 넣어준다.

  • format(price, ',d'): 정수형으로
  • format(price, ',f'): 실수형으로

➤ format() 천단위 삽입

print(format(12345678910, ',d'))          # 1. 12,345,678,910
print(format(12345678910, ',f'))          # 2. 12,345,678,910.000000

# print(format(12345678910.18275, ',d'))  # 3. Error 발생
print(format(12345678910.18275, ',f'))    # 4. 12,345,678,910.182751

print(format(12345678910, ','))           # 5. 12,345,678,910
print(format(12345678910.18275, ','))     # 6. 12,345,678,910.18275

✔️ 1. 12345678910는 정수이므로 format의 형식에 ',d'를 넣어 천단위 콤마가 찍히는 것을 확인하였다.

✔️ 2. 12345678910는 정수이지만 12345678910.00000와 동일항 값이며 실수이기도 할 수 있다. 그렇기 때문에 천단위 콤마가 찍히지만 실수형으로 출력되는 것을 확인 하였다.

✔️ 3. 12345678910.18275는 실수인 값인데, ',d'를 넣어 천단위 콤마가 출력될 수 있게 format()을 사용하였다. 실수를 정수로 하기위해선 .18275가 문제가 되기 때문에 Error가 나타난다.

✔️ 4. 12345678910.18275는 실수이고 format()의 자료형도 ',f' 실수이기 때문에 문제없이 천단위 콤마가 찍힌 실수형이 출력된다.

✔️ 5. format의 형식에 콤마만 입력하고 정수/실수 등 아무것도 입력하지 않으면 숫자의 자료형을 자동으로 감지한다. 12345678910은 정수이므로 return되는 숫자도 천단위 콤마가 찍힌 정수이다.

✔️ 6. format의 형식에 콤마만 입력하고 정수/실수 등 아무것도 입력하지 않으면 숫자의 자료형을 자동으로 감지한다. 12345678910.1827는 실수이므로 return되는 숫자도 천단위 콤마가 찍힌 실수이다.

profile
인생 개발자 라곰!!

0개의 댓글