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