본문 바로가기
Study/Python study

[Python(파이썬)] 올림, 내림, 반올림 (소수점, 일의 자리, 십의 자리, ...)

by 파크영 2021. 7. 7.

올림

  • 소수점 올림

math 모듈의 ceil()을 사용하여 올림을 계산한다. 

>>> import math
# 나눗셈 계산 후 올림
>>> 7/3
2.3333333333333335
>>> math.ceil(7/3) 
3
>>> math.ceil(4.2)
5
>>> math.ceil(-4.2)
-4

 

  • 정수 올림 (1의 자리, 10의 자리, ...)
# 1의 자리 올림
>>> ((18 // 10) + 1 )* 10
20

>>> ((1768 // 10) + 1 )* 10
1770

18 // 10 = 1 -> 일의 자리 없애기

1 + 1 = 2 -> 십의 자리 1 올리기

2 * 10 = 20 -> 다시 일의 자리에 0 채우기

 

1768 // 10 = 176 -> 일의 자리 없애기

176 + 1 = 177 -> 십의 자리 1 올리기

177 * 10 = 1770 -> 다시 일의 자리에 0 채우기

 

 

# 10의 자리 올림
>>> ((1798 // 100) + 1 )* 100
1800

1798 // 100 = 17 -> 백의 자리 뒤를 없애기

17 + 1 = 18 -> 백의 자리 1 올리기

18 * 10 = 1800 -> 다시 백의 자리 뒤에 0 채우기

 

 

 

내림

  • 소수점 내림

내림 3가지 방법 - floor(), trunc(), int()

>>> import math
# floor()
>>> 7/3
2.3333333333333335
>>> math.floor(7/3)
2
>>> math.floor(5.34)
5
>>> math.floor(-5.34)
-6

#trunc()
>>> math.trunc(5.34)
5
>>> math.trunc(-5.34)
-5

#int()
>>> int(5.34)
5
>>> int(-5.34)
-5

trunc()와 int()는 내림을 하더라도 0을 향하고 floor()은 아래를 향해 내림한다. 

 

 

  • 정수 내림 (1의 자리, 10의 자리, ...)
# 1의 자리 내림
>>> (18 // 10)* 10
10

>>> (1798 // 10) * 10
1790

18 // 10 = 1 -> 일의 자리 없애기

1 * 10 = 10 -> 다시 일의 자리에 0 채우기

 

1798 // 10 = 179 -> 일의 자리 없애기

179 * 10 = 1790 -> 다시 일의 자리에 0 채우기

 

# 10의 자리 내림
>>> (1798 // 100) * 100
1700

1798 // 100 = 17 -> 백의 자리 뒤를 없애기

17 * 10 = 1700 -> 다시 백의 자리 뒤에 0 채우기

 

 

 

반올림

  • 소수점 반올림
# 반올림
>>> round(5.32)
5
>>> round(6.84)
7
# 소수 세번째 자리에서 반올림
>>> round(5.3216, 3)
5.322
# 0.5인 경우에는 앞자리 숫자가 짝수면 내림 홀수면 올림
>>> round(5.5)
6
>>> round(4.5)
4

 

  • 정수 반올림 (1의 자리, 10의 자리, ...)
# 일의 자리 반올림
>>> round(1768, -1)
1770

# 십의 자리 반올림
>>> round(1768, -2)
1800

# 백의 
>>> round(1768, -3)
2000

 

※ 반올림 해야할 자리의 숫자가 5인 경우는 앞의 숫자가 짝수면 내림, 홀수면 올림

>>> round(15, -1)	# 십의 자리가 1(홀수) -> 올림
20
>>> round(25, -1)	# 십의 자리가 2(짝수) -> 내림
20

>>> round(35, -1)	# 십의 자리가 3(홀수) -> 올림
40
>>> round(45, -1)	# 십의 자리가 4(짝수) -> 내림
40

 

 

 

 

 

댓글