반올림
f-string
pi = 3.1415926535
print(f"{pi:.2f}") #3.14
f-string은 f"{number:.nf}" 형태로 사용하며 소수 number를 n자리까지 반올림한다.
파이썬 3.6부터 업데이트된 기능이다. f와 {}중괄호를 사용하여 문자열을 포맷팅한다.
소수 몇 자리까지 출력하는 기능 이외에도 다양하게 활용할 수 있다.
round
pi = 3.1415926535
print(round(pi, 2)) #3.14
round(number, n)은 number를 n자리까지 반올림한다.
올림
math.ceil
import math
pi = 3.1415926535
print(math.ceil(pi * 100) / 100) #3.15
math.ceil(number)은 number를 소수 한자리에서 올림한다. (결과적으로 정수 출력)
따라서 소수 n자리까지 출력하기 위해서는 10**n만큼을 number에 곱하고 올림된 값에서 다시 곱해준 100을 나눠주면 결과를 알 수 있다.
내림
math.floor
import math
pi = 3.1415926535
print(math.floor(pi * 100) / 100) #3.14
math.floor(number)은 number의 소수점 이하 숫자들을 모두 버린다(내린다).
따라서 소수 n자리까지 출력하기 위해서는 10**n만큼을 number에 곱하고 버림된 값에서 다시 곱해준 100을 나눠주면 결과를 알 수 있다.
버림
math.trunc
import math
pi = 3.1415926535
print(math.trunc(pi * 100) / 100) #3.14
math.trunc(number)은 number의 소수점 이하 숫자들을 모두 버린다.
따라서 소수 n자리까지 출력하기 위해서는 10**n만큼을 number에 곱하고 버림된 값에서 다시 곱해준 100을 나눠주면 결과를 알 수 있다.
반올림없이 소수점 2자리까지 출력
import math
number = 1.267
print (f"{(math.trunc(number * 100) / 100):.2f}") #1.26
예를 들어 number가 3.5일 때, math.trunc(number * 100) / 100만 사용하는 경우 3.50이 아니라 3.5만 출력되는 문제가 있었다. 그렇다고 f-string만 사용하면 반올림이 돼서 원하는 답이 안나오는 상황이 발생했다.
따라서 trunc와 f-string을 함께 사용하여 반올림없이 소수점 2자리까지만 출력되는 버림을 구현했다.
비교(반올림, 올림, 내림, 버림)
import math
# 반올림 : 가장 가까운 정수를 택한다.
math.round(1.1) # 1
math.round(-1.7) # -2
# 올림 : 양수 방향으로 정수를 택한다.
math.ceil(1.1) # 2
math.ceil(-1.7) # -1
# 내림 : 음수 방향으로 정수를 택한다.
math.floor(1.1) # 1
math.floor(-1.7) # -2
# 버림 : 0의 방향으로 정수를 택한다.
math.trunc(1.1) # 1
math.trunc(-1.7) # -1
'공부' 카테고리의 다른 글
[GitHub] 포크와 클론 (0) | 2024.11.26 |
---|---|
[우아한테크코스 7기] 프리코스 1주차 (java) (1) | 2024.10.22 |
[Javascript] 자바스크립트 입출력 (백준, vscode) (0) | 2024.06.23 |
[JAVA] Math.random 랜덤함수 사용법 (0) | 2023.08.16 |