모듈은 분수 기반 산술 작업을 수행하는 데 도움이되지 않습니다. 그러나 파이썬의 모듈은 바로 그 일을합니다. decimal
math
cmath
fractions
계산에 사용할 수있는 모듈에는 ,
및 가 반올림 알고리즘으로 세 가지 내장 컨텍스트가 있습니다. 이러한 맥락들 사이의 또 다른 차이점은 예외를 유발하는 행동입니다.from decimal import Decimal Decimal(121) # 返回 Decimal('121') Decimal(0.05) # 返回 Decimal('0.05000000000000000277555756') Decimal('0.05') # 返回 Decimal('0.05') Decimal((0, (8, 3, 2, 4), -3)) # 返回 Decimal('8.324') Decimal((1, (8, 3, 2, 4), -1)) # 返回 Decimal('-832.4')
getcontext()
라는 것을 알 수 있습니다.
의 많은 함수는 컨텍스트 객체를 계산을 수행하기위한 매개 변수로 받아들입니다. 이렇게하면 계산 된 컨텍스트 또는 정밀 값을 지속적으로 설정하지 않을 수 있습니다. setcontext()
with
분수 모듈 사용
ROUND_HALF_UP
점수를 만듭니다
ROUND_HALF_EVEN
모듈을 사용하면 숫자, 부동 소수점 번호, 소수점 숫자 및 문자열에서 ROUND_HALF_EVEN
인스턴스를 만들 수 있습니다. DefaultContext
BasicContext
DefaultContext
from decimal import Decimal Decimal(121) # 返回 Decimal('121') Decimal(0.05) # 返回 Decimal('0.05000000000000000277555756') Decimal('0.05') # 返回 Decimal('0.05') Decimal((0, (8, 3, 2, 4), -3)) # 返回 Decimal('8.324') Decimal((1, (8, 3, 2, 4), -1)) # 返回 Decimal('-832.4')
의 분모와 함께 주어진 분수 값에 가장 가까운 부분을 찾아서 반환합니다. 또한
import decimal from decimal import ROUND_DOWN, ROUND_UP, Decimal as D dec_a = D('0.153') dec_b = D('0.231') zero = D('0') print("无上下文(使用默认值): ", dec_a/dec_b) # 无上下文(使用默认值): 0.6623376623376623376623376623 decimal.setcontext(decimal.BasicContext) print("基本上下文: ", dec_a/dec_b) # 基本上下文: 0.662337662 decimal.setcontext(decimal.ExtendedContext) print("扩展上下文: ", dec_a/dec_b) # 扩展上下文: 0.662337662 print("扩展上下文: ", dec_b/zero) # 扩展上下文: Infinity decimal.setcontext(decimal.DefaultContext) print("默认上下文: ", dec_a/dec_b) # 默认上下文: 0.6623376623376623376623376623 with decimal.localcontext() as l_ctx: l_ctx.prec = 5 l_ctx.rounding = ROUND_UP print("局部上下文: ", dec_a/dec_b) # 局部上下文: 0.66234
위 내용은 파이썬의 수학적 모듈 : 소수점 및 분수의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!