[파이썬 실전] 천단위 숫자 콤마 추가하는 방법 및 소수점 반올림 방법

[파이썬 실전] 천단위 숫자 콤마 추가하는 방법 및 소수점 반올림 방법

숫자 사이에 콤마를 찍을때 1000단위 마다 콤마를 찍으려면 format 함수를 사용합니다.

format(값, “형식규칙”) 또는 “{형식규칙}”.format(값) 의 방법으로 코딩합니다.

천단위 숫자 콤마 추가하는 방법

[방법1]”형식규칙”에 ‘,d’를 사용하는 경우 정수형 타입 숫자만 사용 가능합니다.

float 타입의 자료형을 대입하는 경우 오류가 발생하니 주의하세요.

a = 12345678910
bb = format(a, ',d')
print(bb)

#실행결과
12,345,678,910

자료형 타입을 정하지 않으면 정수형이든 실수형(float 타입)이든 모두 적용가능합니다.

a = 12345678910
aa = 1000000.406234

print(format(a, ","))
print(format(aa, ","))


#실행결과
12,345,678,910
1,000,000.406234

실수형(float) 규칙을 적용하는 경우 소수점 아래 5자리까지 표기합니다. 소수점 자리의 값이 있든 없든 무조건 5자리로 고정됩니다.

a = 12345678910
aa = 1000000.408

bb = format(a, ',f')
print(bb)

bb = format(aa, ',f')
print(bb)


#실행결과
12,345,678,910.000000
1,000,000.408000

[방법2] “{형식규칙}”.format(값)

a = 12345678910
aa = 1000000.406234


b = '{0:,}'.format(a)
print(b)
 
c = '{0:,}'.format(aa)
print(c)


#실행결과
12,345,678,910
1,000,000.406234


소수점 절삭하는 방법 : math함수를 사용 

math.ceil()함수는 소수점 값이 존재하면 무조건 반올림 처리합니다.

>>> import math
>>>
>>> math.ceil(35.593)
36
>>> math.ceil(35.193)
36
>>> math.ceil(35.011)
36
>>> math.ceil(35)
35

math.floor()함수와 math.trunc()는 소수점 자리는 무조건 절삭합니다.

>>> import math
>>>
>>> math.floor(30.1666)
30
>>> math.floor(30.4666)
30
>>> math.floor(30.7666)
30
>>>
>>> math.trunc(30.1111)
30
>>> math.trunc(30.2111)
30
>>> math.trunc(30.6111)
30
>>> math.trunc(30.0001)
30

파이썬(Python) 문자열에서 콤마(쉼표)를 제거하는 방법

replace 함수를 사용하세요. 특정문자를 제거할 때 유용합니다.

a = "10,200,400"
b = a.replace(',', '')
print(b)


#실행결과
C:\Users\ilike\AppData\Local\Programs\Python\Python39\python.exe C:/python/Workspace/main.py
10200400


소수점자리 표기 하는 방법 ( f 자릿수 사용법)

소수점 첫째자리까지 표기 하는 방법 : 소수점 둘째자리에서 반올림

a = 12345678910
aa = 1000000.406234

c = "{:0,.1f}".format(a)
print(c)

cc = "{:0,.1f}".format(aa)
print(cc)


#실행결과
12,345,678,910.0
1,000,000.4

소수점 둘째자리까지 표기 하는 방법: 소수점 셋째자리에서 반올림

a = 12345678910
aa = 1000000.406234

c = "{:0,.2f}".format(a)
print(c)

cc = "{:0,.2f}".format(aa)
print(cc)


#실행결과
12,345,678,910.00
1,000,000.41

소수점 셋째자리까지 표기 하는 방법: 소수점 넷째자리에서 반올림

a = 12345678910
aa = 1000000.406534

c = "{:0,.3f}".format(a)
print(c)

cc = "{:0,.3f}".format(aa)
print(cc)


#실행결과
C:\Users\ilike\AppData\Local\Programs\Python\Python39\python.exe C:/python/Workspace/main.py
12,345,678,910.000
1,000,000.407


실수를 정수로 반올림하는 방법

round()함수를 사용하면 쉽게 가능합니다.

print("5.4 반올림 결과 : " + str(round(5.4)))
print("3.45523 반올림 결과 : " + str(round(3.45523)))
print("3.555 반올림 결과 : " + str(round(3.555)))

print("3.54536 소숫점 둘째자리에서 반올림 결과 : " + str(round(3.54536, 2)))
print("3.54536 소숫점 셋째자리에서 반올림 결과 : " + str(round(3.54536, 3)))

[실행결과]

5.4 반올림 결과 : 5
3.45523 반올림 결과 : 3
3.555 반올림 결과 : 4
3.54536 소숫점 둘째자리에서 반올림 결과 : 3.55
3.54536 소숫점 셋째자리에서 반올림 결과 : 3.545

문자와 숫자를 조합하여 출력하려고 할 경우 TypeError가 발생됨으로 정수를 문자열로 형변환하기 위해 str()함수를 사용하여 처리합니다.

print("3.54536 소숫점 셋째자리에서 반올림 결과 : " + round(3.54536, 3))

[오류 내용]

Traceback (most recent call last):
  File “C:\python\Workspace\main.py”, line 6, in <module>
    print(“3.54536 소숫점 셋째자리에서 반올림 결과 : ” + round(3.54536, 3))
TypeError: can only concatenate str (not “float”) to str

카테고리의 다른 글
error: Content is protected !!