English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Python의 데시말 함수

Python에서는 Decimal 모듈이 있으며, 이는 10진수 부동소수점 작업을 수행합니다. 이 모듈은 정확한 절삭 부동소수점 연산을 제공합니다.

먼저 사용하려면, Decimal 표준 라이브러리 모듈을 가져와야 합니다.

import decimal

이 절에서는 Decimal 모듈의 중요한 기능들을 살펴보겠습니다.

제곱근 함수sqrt()및 지수 함수exp()

sqrt()메서드는 주어진 10진수 유형 객체의 제곱근을 계산합니다. 그리고 이exp()메서드는 주어진 x에 대한 e^x 값을 10진수로 반환합니다.

예제 코드

#sqrt()와 exp() 메서드 수행
import decimal
my_dec = decimal.Decimal(25.36)
print(my_dec)
#10진수 숫자의 루트를 찾기 위해
print('루트는: ' + str(my_dec.sqrt()))
#10진수 숫자의 e^x를 찾기 위해
print('e^x는: ' + str(my_dec.exp()))

출력 결과

25.3599999999999994315658113919198513031005859375
루트는: 5.035871324805668565859161094
e^x는: 103206740212.7314661465187086

대수 함수

소수 구성 모듈에는 몇 가지 대수 함수가 있습니다. 여기서는 그 중 두 가지를 논의하겠습니다. 첫 번째는ln()메서드. 이 메서드는 10진수의 자연 대수를 찾기 위해 사용됩니다.

다른 방법은 log10() 메서드. 이 메서드는10의 기본 대수 값.

예제 코드

#ln()와 log 수행10() 메서드
import decimal
my_dec = decimal.Decimal(25.36)
print(my_dec)
#e의 기본 대수
print('ln(x) is: ') + str(my_dec.ln()))
#Find logarithmic value with base 10
print('log(x) is: ') + str(my_dec.log10))

출력 결과

25.3599999999999994315658113919198513031005859375
ln(x) is: 3.233173129569025152000878282
log(x) is: 1.404149249209695070459909761

as_tuple()和fma()方法

as_tuple方法用于将十进制表示为具有三个元素的元组。元素是符号,数字指数值。在符号字段中,当数字为0时,表示十进制为;当数字为1时,表示负数

fma()方法称为融合乘法和加法。如果我们使用fma(x,y),它将计算(number * x)+ y。在这种情况下,(number * x)部分不会四舍五入。

예제 코드

#Perform as_tuple() and fma() methods
import decimal
my_dec1 = decimal.Decimal(5.3)
print(my_dec1)
my_dec2 = decimal.Decimal(-9.23)
print(my_dec2)
#Show decimal as tuple
print('\nmy_dec1 as tuple: ' + str(my_dec1.as_tuple()))
print('\nmy_dec2 as tuple: ' + str(my_dec2.as_tuple()))
#Perform Fused Multiply and Add
print('\n(x*5)+8 is: ' + str(my_dec1.fma(5, 8)))

출력 결과

5.29999999999999982236431605997495353221893310546875
-9.230000000000000426325641456060111522674560546875
my_dec1 as tuple: DecimalTuple(sign=0, digits=(5, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 2, 2, 3, 6, 4, 
3, 1, 6, 0, 5, 9, 9, 7, 4, 9, 5, 3, 5, 3, 2, 2, 1, 8, 9, 3, 3, 1, 0, 5, 4, 6, 8, 7, 5), exponent=-50)
my_dec2 as tuple: DecimalTuple(sign=1, digits=(9, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 2, 6, 3, 2, 5,
 6, 4, 1, 4, 5, 6, 0, 6, 0, 1, 1, 1, 5, 2, 2, 6, 7, 4, 5, 6, 0, 5, 4, 6, 8, 7, 5), exponent=-48)
(x*5)+8 is: 34.49999999999999911182158030

compare()方法

此比较方法用于比较两个十进制数。当数字相同时,它将返回0,否则,当第一个数字较大时,它将给出+1,而当第一个参数较小时,它将返回-1。

예제 코드

#Perform compare() method
import decimal
#Compare when both are equal
 + -5.3).compare(decimal.Decimal(-5.3))))
#Compare when first one is smaller
 + -5.3).compare(decimal.Decimal(9.26))))
#Compare when first one is greater
 + -5.3).compare(decimal.Decimal(-13.25))))

출력 결과

Compare value: 0
Compare value: -1
Compare value: 1

일부 복사 기능

십进制 숫자를 다른 십进制 객체에 복사할 수 있는 여러 가지 방법이 있습니다. 첫 번째 방법은 copy_abs()입니다. 십进制 숫자에서 절대 값을 가져오는 데 사용됩니다. 두 번째 방법은 copy_negate()입니다. 실제 숫자를 부정한 후 십进制 숫자를 복사합니다. 세 번째 함수는 copy_sign()입니다. 이 메서드는 두 번째 매개변수에서 기호를 가져와 첫 번째 매개변수를 인쇄합니다.

예제 코드

#copy_abs(), copy_negate(), copy_sign() 수행
import decimal
my_dec = decimal.Decimal(-25.36)
print(my_dec)
#절대 값을 복사
temp_dec = my_dec.copy_abs()
print('절대값은: ' + str(temp_dec))
#부정 값을 복사
my_dec = decimal.Decimal(7.26)
temp_dec = my_dec.copy_negate()
print('의 부정' 7.26 is: ' + str(temp_dec))
#두 번째 인자에서 기호 값을 첫 번째 인자로 복사
my_dec = decimal.Decimal(-25.36)
temp_dec = my_dec.copy_sign(decimal.Decimal(12.5))
print('두 번째 인자에서 기호 복사: ' + str(temp_dec))

출력 결과

-25.3599999999999994315658113919198513031005859375
절대값은: 25.3599999999999994315658113919198513031005859375
의 부정: 7.26 is: -7.2599999999999997868371792719699442386627197265625
두 번째 인자에서 기호 복사: 25.3599999999999994315658113919198513031005859375

최대와 최소 메서드

최대값과 최소값은 두 수 사이의 최대값이나 최소값을 찾는 두 가지 간단한 방법입니다.

예제 코드

#max()와 min() 메서드 수행
import decimal
my_dec1 = decimal.Decimal(5.3)
print(my_dec1)
my_dec2 = decimal.Decimal(-9.23)
print(my_dec2)
#최소와 최대 표시
print('최소: ' + str(my_dec1.min(my_dec2)))
print('최대: ' + str(my_dec2.max(my_dec1)))

출력 결과

5.29999999999999982236431605997495353221893310546875
-9.230000000000000426325641456060111522674560546875
최소: -9.230000000000000426325641456
최대: 5.299999999999999822364316060
Redis 강의