달나라 노트

Python Basic : format (천단위 콤마 삽입하기) 본문

Python/Python Basic

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

CosmosProject 2021. 9. 7. 00:08
728x90
반응형

 

 

 

 

 

숫자가 1000, 10000단위 이상으로 커지게 되면 천단위 콤마를 찍어주는게 가독성이 좋습니다.

 

이런저런 로직을 넣어서 직접 python 함수를 만들 수도 있겠지만, 굳이 이런 번거로운 일을 할 필요 없이 Python에서는 format이라는 함수를 제공합니다.

 

 

 

Syntax

format(number, ',d/f')

number --> format을 적용하여 천단위 콤마를 찍을 숫자입니다.

',d/f' --> format을 적용할때 받은 number의 자료형이 무엇인지 입력하고 천단위 콤마를 찍는다는 의미입니다.

d는 정수이고, f는 실수입니다.

 

 

 

 

 

 

예시를 보시죠.

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'를 입력했습니다.

따라서 천단위 콤마가 찍힌 채로 return되는 것을 알 수 있습니다.

 

2. 12345678910은 정수이지만 12345678910.00000 등의 실수랑도 동일하다고 할수있습니다.

따라서 정수에는 실수(float)도 적용할 수 있으며 return 값에 소수점이 나타난 것을 볼 수 있습니다.

또한 정수 부분의 천단위 콤마도 찍힌것을 볼 수 있습니다.

 

3. format의 자료형은 정수(decimal)인데 전달된 number12345678910.18275라는 실수입니다.

따라서 Error가 납니다.

 

4. 12345678910.18275는 실수이고 format의 자료형도 실수(f)이므로 문제없이 천단위 콤마가 찍힌 채로 return됩니다.

 

5. format의 형식에 콤마만 입력하고 정수/실수 등 아무것도 입력하지 않으면 숫자의 자료형을 자동으로 감지합니다.

12345678910은 정수이므로 return되는 숫자도 천단위 콤마가 찍힌 정수입니다.

 

 

6. format의 형식에 콤마만 입력하고 정수/실수 등 아무것도 입력하지 않으면 숫자의 자료형을 자동으로 감지합니다.

12345678910.1827는 실수이므로 return되는 숫자도 천단위 콤마가 찍힌 실수입니다.

 

 

 

 

 

format은 아래와 같은 형식으로도 사용할 수 있습니다.

print('{:,}'.format(12345678910))            # 1. 12,345,678,910

print('{:0,.1f}'.format(12345678910))        # 2. 12,345,678,910.0
print('{:0,.1f}'.format(12345678910.18275)   # 3. 12,345,678,910.2

print('{:0,.2f}'.format(12345678910))        # 4. 12,345,678,910.00
print('{:0,.2f}'.format(12345678910.18275))  # 5. 12,345,678,910.18

1. 12345678910이라는 정수에 천단위 콤마를 찍어서 return합니다.

 

2. 전달된 숫자는 정수이지만, 0,.1f라는 형식이 적혀있습니다.

이는 소수점 첫째 자리까지 있는 실수를 의미하므로 12,345,678,910.0이라는 숫자가 return됩니다.

 

3. 전달된 숫자는 실수이며, 0,.1f라는 형식이 적혀있습니다.

이는 소수점 첫째 자리까지 있는 실수를 의미하므로 소수점 둘째자리에서 반올림하여 12,345,678,910.2이라는 숫자가 return됩니다.

 

4. 전달된 숫자는 정수이지만, 0,.2f라는 형식이 적혀있습니다.

이는 소수점 둘째 자리까지 있는 실수를 의미하므로 12,345,678,910.00이라는 숫자가 return됩니다.

 

5. 전달된 숫자는 실수이며, 0,.2f라는 형식이 적혀있습니다.

이는 소수점 둘째 자리까지 있는 실수를 의미하므로 소수점 셋째 자리에서 반올림하여 12,345,678,910.18이라는 숫자가 return됩니다.

 

 

 

 

 

 

 

728x90
반응형
Comments