"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Python에서 숫자를 특정 기수로 반올림하는 방법(단지 5가 아님)?

Python에서 숫자를 특정 기수로 반올림하는 방법(단지 5가 아님)?

2024-11-02에 게시됨
검색:941

How to Round Numbers to a Specific Base in Python (Not Just 5)?

Python에서 5(또는 다른 숫자)로 반올림

Python에서 내장된 round 함수는 가장 가까운 정수로 반올림합니다. 그러나 다음 접근 방식을 사용하여 특정 숫자(예: 5)로 반올림하는 사용자 지정 함수를 만드는 것이 가능합니다.

Python 3

def myround(x, base=5):
    return base * round(x/base)

이 함수는 먼저 입력 숫자 x를 밑수(기본적으로 5)로 나누어 작동합니다. 이렇게 하면 결과 숫자가 올바르게 반올림된 정수가 됩니다. 그런 다음 함수는 반올림된 숫자에 기준 숫자를 곱하여 반올림된 결과를 얻습니다.

Python 2

Python 2에서는 float() 함수를 사용해야 합니다. 나누기 연산(/)이 부동 소수점 나누기를 수행하는지 확인합니다. 또한 Python 2에서는 round()가 부동 소수점 값을 반환하므로 int로의 최종 변환이 필요합니다.

def myround(x, base=5):
    return int(base * round(float(x)/base))

기본 매개변수에 기본값 5를 제공하면 함수가 더욱 일반화되어 원하는 숫자로 반올림할 수 있습니다.

이 사용자 정의 함수는 숫자를 5뿐만 아니라 지정된 숫자로 반올림하는 데 사용할 수 있습니다. 예를 들어 다음 코드는 숫자를 가장 가까운 숫자로 반올림합니다. 10:

myround(23, 10)  # Output: 20
myround(47, 10)  # Output: 50
릴리스 선언문 이 글은 1729212915에서 재인쇄되었습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3