[파이썬 실전] 천단위 숫자 콤마 추가하는 방법 및 소수점 반올림 방법
숫자 사이에 콤마를 찍을때 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 |