[Python] 파이썬 소수점 반올림, 돈 표기 방법 : 천단위 콤마(쉼표) 찍기( 천단위 구분 기호 추가), 숫자 콤마 제거
숫자 사이에 콤마를 찍을때 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
■소수점자리 표기 하는 방법 ( 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:UsersilikeAppDataLocalProgramsPythonPython39python.exe C:/python/Workspace/main.py
12,345,678,910.000
1,000,000.407
■소수점 절삭하는 방법 : 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:UsersilikeAppDataLocalProgramsPythonPython39python.exe C:/python/Workspace/main.py
10200400
■ 실수를 정수로 반올림하는 방법
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:pythonWorkspacemain.py", line 6, in <module> print("3.54536 소숫점 셋째자리에서 반올림 결과 : " + round(3.54536, 3)) TypeError: can only concatenate str (not "float") to str |
[REFERENCE]
docs.python.org/release/3.1.3/whatsnew/3.1.html#pep-378-format-specifier-for-thousands-separator
stackoverflow.com/questions/5513615/add-decimal-mark-thousands-separators-to-a-number
[파이썬 더 알아보기]
[Python] 파이썬에서 웹브라우저(url) 호출하는 방법 : webbrower, selenium
[Python] 파이썬 클래스(class) 와 생성자(__init__) 사용방법 및 예제 총정리
[Python] 파이썬 list, tuple, dictionary,set 예제 및 총정리
[Python] 파이썬 문자열 함수 사용 예제 및 총정리 : split,join,replace,rstrip,lstrip,lower,upper,index,count,len
[Python] 파이썬 기본(기초) 문법 : 예제 및 총정리
#python float to int, #파이썬 정수 실수 변환, #파이썬 float소수점, #파이썬 정수 소수 분리, #파이썬 정수 실수 판별, #파이썬 실수 표현, #파이썬 타입변환, #float을 int로 변환