Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬에서 십진 함수란 무엇입니까?

<시간/>

10진수 부동 소수점 산술의 경우 Python은 10진수 모듈을 제공합니다. 이 모듈 자체에는 10진수 계산의 효율적인 처리에 도움이 되는 수백 가지 함수가 있습니다. 이 주제에서 중요하고 가장 널리 사용되는 것들을 살펴볼 것입니다.

비교()

이 함수는 십진수를 비교합니다. 첫 번째 Decimal 인수가 두 번째보다 크면 1을 반환하고, 첫 번째 Decimal 인수가 두 번째보다 작으면 -1을 반환하고 둘 다 같으면 0을 반환합니다.

예시

import decimal

val1 = decimal.Decimal(2.6)
val2 = decimal.Decimal(2.61)

# compare decimals
print("The result is : ",val1.compare(val2))

# resetting the values
val1 = decimal.Decimal(2.6)
val2 = decimal.Decimal(-2.6)

# compare decimals
print("The result is : ",val1.compare(val2))

# resetting the values
val1 = decimal.Decimal(2.6)
val2 = decimal.Decimal(2.6)

# compare decimals
print("The result is : ",val1.compare(val2))

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

The result is : -1
The result is : 1
The result is : 0

최대() 및 최소()

그들은 각각 두 개의 십진수의 최대값과 최소값을 찾습니다.

예시

import decimal

val1 = decimal.Decimal(2.6)
val2 = decimal.Decimal(2.61)

# compare decimals
print("The max value is : ",round(val1.max(val2),2))
print("The min value is : ",round(val1.min(val2),2))

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

The max value is : 2.61
The min value is : 2.60

getcontext()

이 방법을 사용하여 산술 연산의 정밀도를 변경할 수 있습니다. 기본 정밀도는 28입니다. 아래 예제에서는 getcontext().prec에 의해 설정된 정밀도에 따라 결과를 표시하는 산술 연산을 수행합니다.

예시

from decimal import *
print(Decimal(13) / Decimal(7))

getcontext().prec = 6
print(Decimal(13) / Decimal(7))

getcontext().prec = 10
print(Decimal(13) / Decimal(7))

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

1.857142857142857142857142857
1.85714
1.857142857

exp()

주어진 숫자에서 (자연) 지수 함수 e**x의 값을 반환합니다.

예시

from decimal import *

#Finding e
print(Decimal(1).exp())

#Finding e raised to 2
print(Decimal(2).exp())

#Finding e raised to 4
print(Decimal(4).exp())

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

2.718281828459045235360287471
7.389056098930650227230427461
54.59815003314423907811026120

as_integer_ratio()

때때로 우리는 나누기가 우리가 다루고 있는 소수를 제공하는 정수가 필요합니다. 이것은 as_integer_ratio()를 사용하여 얻을 수 있습니다.

예시

from decimal import *

v = Decimal('2.1834').as_integer_ratio()
print(v)

v = Decimal('-1.92').as_integer_ratio()
print(v)

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

(10917, 5000)
(-48, 25)

ln() 및 log10()

이 함수를 사용하여 밑이 10인 로그와 함께 자연 로그(밑이 e인 경우)를 계산할 수 있습니다. 로그가 필요한 10진수 값을 제공합니다.

예시

from decimal import *

ln_val = Decimal('2.1').ln()
print(ln_val)

log_val = Decimal('2.1').log10()
print(log_val)

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

0.7419373447293773124826065257
0.3222192947339192680072441618

fma(a,b)

이것은 융합 곱셈과 더하기라는 특수 기능입니다. 제공된 10진수에 첫 번째 인수 a를 곱한 다음 결과를 두 번째 인수 b에 추가합니다.

예시

from decimal import *

# Same as (2.1*2)+5
fma_val = Decimal(2.1).fma(2,5)
print(fma_val)

# Same as (8.1*3)+5
fma_val = Decimal(8.1).fma(3,5)

print(fma_val)
re class="prettyprint notranslate" >

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

9.200000000000000177635683940
29.29999999999999893418589636