✔️ 숫자가 천, 만 단위 이상으로 커지면 한 번에 몇자리 수인지 읽기가 어렵다.
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되는 숫자도 천단위 콤마가 찍힌 실수이다.