파이썬 소수점 완벽 가이드: 초보자도 쉽게 배우는 소수점 처리 및 활용법
A. 소수점 표현
파이썬에서 소수점을 표현하는 기본적인 방법은 float
자료형을 사용하는 것입니다. float
는 부동소수점수를 나타내며, 소수점 이하의 자릿수를 포함합니다. 예를 들어, 3.14159, -2.5, 0.0 등을 표현할 수 있습니다.
x = 3.14159
y = -2.5
print(type(x)) # 출력: <class 'float'>
print(type(y)) # 출력: <class 'float'>
B. 소수점 연산
파이썬에서는 float
자료형을 사용하여 소수점 연산을 수행할 수 있습니다. 덧셈, 뺄셈, 곱셈, 나눗셈 등 일반적인 산술 연산이 가능합니다. 하지만 부동소수점 연산의 특성상, 매우 작은 오차가 발생할 수 있습니다.
a = 2.5
b = 1.5
print(a + b) # 출력: 4.0
print(a - b) # 출력: 1.0
print(a * b) # 출력: 3.75
print(a / b) # 출력: 1.6666666666666667
C. 소수점 자릿수 제어
round()
함수를 사용하여 소수점 자릿수를 제어할 수 있습니다. round(number, ndigits)
함수는 숫자를 지정된 자릿수로 반올림합니다. ndigits
가 0이면 정수로 반올림합니다. 음수를 지정하면 소수점 앞자리의 자릿수를 제어합니다.
x = 3.14159
print(round(x, 2)) # 출력: 3.14
print(round(x, 0)) # 출력: 3
print(round(1234.56, -2)) # 출력: 1200
D. 반올림
소수점 자릿수를 제어하는 것 외에도, 다양한 반올림 방식을 적용할 수 있습니다. Python의 `decimal` 모듈은 반올림 방식을 세밀하게 조절하는 기능을 제공합니다.
E. Decimal 모듈 활용
정확한 소수점 연산이 필요한 경우, `decimal` 모듈을 사용하는 것이 좋습니다. `float` 자료형은 이진 부동소수점을 사용하기 때문에, 0.1 + 0.2 = 0.3이 항상 참이 아닐 수 있습니다. `decimal` 모듈은 십진 부동소수점을 사용하여 이러한 문제를 해결합니다.
from decimal import Decimal
a = Decimal('0.1')
b = Decimal('0.2')
c = a + b
print(c) # 출력: 0.3
F. 실전 예제
금액 계산 등 정확한 소수점 연산이 중요한 애플리케이션에 `decimal` 모듈을 사용하는 예제입니다.
from decimal import Decimal, ROUND_HALF_UP
price = Decimal('123.45')
quantity = Decimal('5')
tax_rate = Decimal('0.1')
total_price = price * quantity
tax = total_price * tax_rate
final_price = (total_price + tax).quantize(Decimal('0.00'), ROUND_HALF_UP)
print(f"총 가격: {final_price}")
“`
..