파이썬/Code Solution

[Code Solution] 올림, 내림, 반올림 하기

컴공돌이​ 2022. 6. 18. 12:09

올림, 내림, 반올림 하기

파이썬에 내장된 round() 함수는 2개의 인자를 받아서, 소수 몇째 자리에서 반올림을 할지를 결정해줄 수 있습니다.

하지만, math 라이브러리에서 제공하는 ceil(), floor() 함수는 무조건 소수 첫째 자리에서 올림 혹은 내림을 해줍니다.

따라서, round() 함수와 같이 2개의 인자를 받아서, 소수 몇째 자리에서 올림 혹은 내림을 해줄지 결정할 수 있는 사용자 정의 함수를 구현해 보았습니다.

import math

# 올림
def myCeil(number, ndigits):
    number = number * math.pow(10, ndigits)
    number = math.ceil(number)
    number = float(number) / math.pow(10, ndigits)
    return number

# 내림
def myFloor(number, ndigits):
    number = number * math.pow(10, ndigits)
    number = math.floor(number)
    number = float(number) / math.pow(10, ndigits)
    return number

# 반올림
round(number, ndigits)

python version: 3.7.13

 

반응형