English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En Python, hay un módulo llamado Decimal, que se utiliza para ejecutar algunas tareas relacionadas con el punto flotante decimal. Este módulo proporciona operaciones de coma flotante con redondeo correcto.
Primero, necesitamos importar el módulo Decimal estándar.
import decimal
En esta sección, veremos algunas funciones importantes del módulo Decimal.
sqrt()
y la función exponencialexp()
Estesqrt()
método se utiliza para calcular la raíz cuadrada de un objeto de tipo decimal. Y estaexp()
el método devuelve el valor de e ^ x para x dado como número decimal.
#Ejecutar métodos sqrt() y exp() import decimal my_dec = decimal.Decimal(25.36) print(my_dec) #Encontrar la raíz cuadrada del número decimal print('Raíz cuadrada es: ' + str(my_dec.sqrt()) #Encontrar e^x para el número decimal print('e^x es: ' + str(my_dec.exp())
Resultado de salida
25.3599999999999994315658113919198513031005859375 Raíz cuadrada es: 5.035871324805668565859161094 e^x es: 103206740212.7314661465187086
En el módulo decimal hay algunas funciones logarítmicas. Aquí, discutiremos dos de ellas. La primera esln()
método。Este método se utiliza para encontrar el logaritmo natural de un número decimal.
Otra方法是log10método ()。Este método se utiliza para encontrar el valor logarítmico de base10el valor logarítmico de base.
#Ejecutar ln() y log10métodos () import decimal my_dec = decimal.Decimal(25.36) print(my_dec) #Encontrar el valor logarítmico con base e print('ln(x) es: ') + str(mi_dec.ln())) #Encontrar valor logarítmico con base 10 print('log(x) es: ') + str(mi_dec.log10))
Resultado de salida
25.3599999999999994315658113919198513031005859375 ln(x) es: 3.233173129569025152000878282 log(x) es: 1.404149249209695070459909761
fma()
MétodoEl método as_tuple() se utiliza para representar el decimal como una tupla contreselementos.elementos simbólicos, dígitosyen el campo de signo, cuando los números son 0, representa el decimal devalores;cuando los números sonrepresenta1negativospara números。
Estefma()
llamadométodo de Multiplicación y Adición Combinada。Si utilizamos fma(x, y), calculará (número * x)+ y. En este caso, (número * x) parte no se redondeará.
#Ejecutar métodos as_tuple() y fma() import decimal my_dec1 = decimal.Decimal(5.3) print(my_dec1) my_dec2 = decimal.Decimal(-9.23) print(my_dec2) #Mostrar decimal como tupla print('\nmi_dec1 como tupla: ' + str(my_dec1.as_tuple())) print('\nmi_dec2 como tupla: ' + str(my_dec2.as_tuple())) #Ejecutar Multiplicación y Adición Combinada print('\n(x*5)+8 es: ' + str(my_dec1.fma(5, 8))
Resultado de salida
5.29999999999999982236431605997495353221893310546875 -9.230000000000000426325641456060111522674560546875 my_dec1 como tupla: DecimalTuple(sign=0, dígitos=(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), exponente=-50) my_dec2 como tupla: DecimalTuple(sign=1, dígitos=(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), exponente=-48) (x*5)+8 es: 34.49999999999999911182158030
compare()
MétodoEste método de comparación se utiliza para comparar dos números decimales. Cuando los números son iguales, devolverá 0, de lo contrario, cuando el primer número es mayor, devolverá+1,y cuando el primer parámetro es menor, devolverá-1。
#Ejecutar método compare() import decimal #Comparar cuando ambos son iguales print('Comparar valor: ') + -5.3).compare(decimal.Decimal(',')),-5.3)))) #Comparar cuando el primero es menor print('Comparar valor: ') + -5.3).compare(decimal.Decimal(',')),9.26)))) #Comparar cuando el primero es mayor print('Comparar valor: ') + -5.3).compare(decimal.Decimal(',')),-13.25))))
Resultado de salida
Comparar valor: 0 Comparar valor: -1 Comparar valor: 1
Hay varias formas diferentes de copiar un número decimal a otro objeto decimal. El primer método es copy_abs(). Se utiliza para obtener el valor absoluto de un número decimal. El segundo método es copy_negate(), que se utiliza para copiar un número decimal después de negar el número real. La tercera función es copy_sign(). Este método imprime el primer argumento mediante el signo obtenido del segundo parámetro.
#Ejecutar copy_abs(), copy_negate() y copy_sign() import decimal my_dec = decimal.Decimal(-25.36) print(my_dec) #Copiar el valor absoluto temp_dec = my_dec.copy_abs() print('Absoluto es: ' + str(temp_dec)) #Copiar el valor negativo my_dec = decimal.Decimal(7.26) temp_dec = my_dec.copy_negate() print('Negativo de 7.26 es: ' + str(temp_dec)) #Copiar el valor de signo del segundo argumento al primero my_dec = decimal.Decimal(-25.36) temp_dec = my_dec.copy_sign(decimal.Decimal(12.5)) print('Copiar el signo del segundo argumento: ' + str(temp_dec))
Resultado de salida
-25.3599999999999994315658113919198513031005859375 Absoluto es: 25.3599999999999994315658113919198513031005859375 Negativo de 7.26 es: -7.2599999999999997868371792719699442386627197265625 Copiar el signo del segundo argumento: 25.3599999999999994315658113919198513031005859375
Los métodos de máximo y mínimo son dos métodos simples. Se utilizan respectivamente para encontrar el valor máximo o mínimo entre dos números.
#Ejemplo de código import decimal my_dec1 = decimal.Decimal(5.3) print(my_dec1) my_dec2 = decimal.Decimal(-9.23) print(my_dec2) #Mostrar Mínimo y Máximo print('Mínimo: ' + str(my_dec1.min(my_dec2)) print('Máximo: ' + str(my_dec2.max(my_dec1))
Resultado de salida
5.29999999999999982236431605997495353221893310546875 -9.230000000000000426325641456060111522674560546875 Mínimo: -9.230000000000000426325641456 Máximo: 5.299999999999999822364316060