Sobre el módulo decimal
El módulo decimal, como su nombre indica, se puede usar para manejar números que tienen puntos decimales o números de tipo flotante. Los métodos incluidos en este módulo ayudan a redondear números decimales, convertir números y realizar cálculos aritméticos. También se centra mucho en la precisión y la precisión y cada número después de un punto decimal se considera significativo. El módulo decimal considera un número como 1.40 como 1.40 y no como 1.4. El uso del módulo decimal se puede entender mejor a través de ejemplos. Algunos de ellos se explican a continuación.
Realización de cálculos matemáticos básicos utilizando el módulo decimal
Puede llamar al constructor decimal para convertir un número a un tipo decimal en Python. La muestra de código a continuación muestra la diferencia entre la división matemática básica realizada en los números de tipo entero y los números de tipo decimal.
de decimal importación decimalLa primera declaración importa la clase decimal del módulo decimal. A continuación, se crean dos variables "A" y "B" con algunos valores. La variable "C" almacena un valor producido al dividir la variable A por B. Luego se repite el mismo proceso convirtiendo los números en objetos de tipo decimal. Después de ejecutar la muestra de código anterior, debe obtener la siguiente salida:
0.9090909090909091Como puede ver en la salida anterior, el objeto de tipo flotante muestra números con menos precisión que el objeto de tipo decimal, ya que utiliza un método de aproximación mucho más agresivo que el objeto de tipo decimal. Por defecto, un número de tipo decimal en Python muestra hasta 28 números. Puede cambiar este valor de acuerdo con sus necesidades llamando al método "getContext" disponible en el módulo decimal.
de decimal importación decimalEn la muestra de código anterior, la función getContext se ha importado y la posición de precisión se ha establecido en hasta 50 posiciones. El método getContext se puede usar para ver el contexto actual en el subproceso y cambiar algunos de los parámetros de configuración predeterminados para el módulo decimal. Después de ejecutar la muestra de código anterior, debe obtener la siguiente salida:
0.9090909090909091Puede realizar cualquier tipo de cálculos aritméticos con objetos de tipo decimal que pueda realizar con objetos de tipo flotante en Python. La gran cantidad de números decimales finales en objetos de tipo decimal puede traer números precisos precisos que son especialmente útiles en aplicaciones científicas financieras, contables, críticas, etc.
Tenga en cuenta que puede crear números de tipo decimal a partir de flotadores, enteros y cadenas que contienen números llamando al constructor decimal principal.
Redondeando números usando el módulo decimal
El módulo decimal viene con algunos modos de redondeo predefinidos que puede usar para redondear números con puntos decimales. Estos modos se llaman Round_floor, Round_ceiling, Round_half_down, Round_half_up, Round_up, Round_down, Round_half_even y Round_05Up. Según la documentación oficial de Python, esto es lo que hace cada uno de estos modos:
La muestra de código a continuación muestra el comportamiento de estos modos.
importación decimalLa muestra de código es bastante sencilla. Se establece una precisión de 2 dígitos para redondear los números. El método de redondeo se cambia estableciendo el valor del objeto "redondeo" (parte del contexto principal). Después de ejecutar la muestra de código anterior, debe obtener la siguiente salida donde cada línea corresponde al modo de redondeo respectivo:
3.9Redondeado utilizando el método de cuantización
También puede usar el método "Quantize" disponible en el módulo decimal para redondear los números. El proceso es idéntico al método explicado anteriormente. Sin embargo, en lugar de establecer números de precisión por separado, puede suministrar un exponente como argumento al método de cuantificación para redondear un número a una posición particular. A continuación se muestra una muestra de código.
importación decimalUn exponente de '1.0 'se ha suministrado al método de cuantización y se ha suministrado un método de redondeo como argumento adicional. Devolverá un número en x.X formato. Después de ejecutar la muestra de código anterior, debe obtener la siguiente salida:
3.9Comparando dos números decimales
Puede comparar cualquier objeto de dos decimales utilizando el método "Comparar" disponible en el módulo decimal. Los ejemplos a continuación muestran su uso.
de decimal importación decimalPuede llamar al método de comparación en un objeto de tipo decimal y suministrar el otro número como argumento. Se devolverá un valor de 0, 1 o -1 dependiendo de los números que se comparan. Un valor de 0 indica que ambos números son iguales, un valor de 1 indica que el primer número es mayor que el segundo número, y un valor de -1 indica que el primer número es menor que el segundo número. Después de ejecutar la muestra de código anterior, debe obtener la siguiente salida:
1Conclusión
Aunque el módulo decimal se usa más comúnmente para controlar la precisión decimal y para redondear números después del punto decimal, viene con algunos otros métodos útiles que se pueden usar para manipular números decimales para producir resultados precisos de los cálculos aritméticos. El uso básico del módulo decimal se ha cubierto en este artículo y debería ser suficiente para la mayoría de las situaciones. Pero siempre puede leer más sobre los métodos avanzados de la documentación oficial de Python.