Float en Python es uno de los diferentes tipos de variables que almacenan valores numéricos de forma específica. Concretamente, es un tipo de dato muy común que se utiliza para trabajar con números decimales. El tipo numérico float permite representar un número positivo o negativo con decimales, es decir, números reales. Un float en Python es un tipo de dato que almacena valores numéricos con precisión decimal.
Estos datos son especialmente útiles cuando necesitas trabajar con cifras decimales, a diferencia de las variables enteras como integers que almacenan datos numéricos sin fracciones. Los floats son de gran utilidad al momento de realizar operaciones que requieren un mayor nivel de precisión, por lo que tiene gran posibilidad de aplicaciones. Float es una de las variables básicas de Python que todo programador debe conocer, ya que permite trabajar con números decimales de forma sencilla y tiene gran cantidad de aplicaciones.
Si vienes de otros lenguajes, tal vez conozcas el tipo doble, lo que significa que tiene el doble de precisión que un float. En Python las cosas son algo distintas, y los float son en realidad double. Los valores float son almacenados de una forma muy particular, denominada representación en coma flotante.
Declaración y Conversión de Floats
Además de declarar un valor float de forma directa, también se puede declarar usando la notación científica con 'e' y el exponente. Por ejemplo, el siguiente sería lo mismo que decir 1.93 multiplicado por diez elevado a -3.
También podemos convertir otro tipo a float haciendo uso de float(). Esto es útil cuando se trabaja con datos que provienen de otras fuentes y necesitan ser interpretados como números decimales.
Lea también: IVA 21% Excel
Precisión y Rango de los Floats
Alguna curiosidad es que los float no tienen precisión infinita. Desafortunadamente, los ordenadores no pueden representar cualquier número, y menos aún si este es uno irracional. Los float a diferencia de los int tienen unos valores mínimo y máximos que pueden representar. Afortunadamente, salvo aplicaciones muy concretas esto no resulta un problema en la mayoría de los casos.
Comparación con Otros Tipos Numéricos
Además de Float, en Python existen otros tipos de variables que permiten almacenar valores numéricos específicos, como integer o decimal. Estos dos tipos de variables tienen diferencias significativas que determinan el contexto en que debe usarse cada uno. La diferencia principal se debe a que Integer sólo almacena números enteros, sin decimales, contrario a lo que hace float.
Por ejemplo, un Integer podría tener un valor de 5, mientras un float permite trabajar con valores como 5.0, lo que le da la capacidad de almacenar valores decimales. Ambos tipos de datos trabajan con números decimales, pero los decimals pueden ser más precisos que los float al momento de manejar números muy grandes o pequeños. Por ejemplo, el tipo decimal puede ser más apropiado para realizar cálculos financieros complejos.
| Tipo de Dato | Almacena | Precisión | Uso Típico |
|---|---|---|---|
| Integer | Números enteros (sin decimales) | Exacta para enteros | Contadores, índices, valores sin fracciones |
| Float | Números reales (con decimales) | Limitada (doble precisión en Python) | Cálculos científicos, representación general de decimales |
| Decimal | Números reales (con decimales) | Alta y configurable | Cálculos financieros, precisión crítica |
Validación de Números Flotantes
Cuando un número es una cadena, no podemos estar seguros de que el usuario siempre escribirá un entero o un flotante bien formado. Por eso, hay que validar para saber si el valor ingresado es un tipo numérico válido. Veremos cómo validar o saber si un número es entero o flotante en Python, y finalmente cómo comprobar si una cadena tiene únicamente un punto.
Para validar si un valor es numérico, simplemente intentamos convertir el número al tipo deseado y esperamos una excepción si la conversión falla. Probamos convertirlo dentro de un bloque try: convertido = int(posible_numero). Y abajo esperamos una excepción de tipo ValueError: except ValueError:. De esa manera, si cae en el except significa que no es un entero válido.
Lea también: Guía IVA reducido
Si queremos validar los flotantes, se haría lo mismo que con los enteros pero usando a float en lugar de int en el bloque try.
Formateo de Floats para la Salida
La notación científica es una potente herramienta para representar números, pero su manejo puede resultar confuso cuando se trata de imprimir valores flotantes. Sin embargo, podemos utilizar las cadenas f (f-strings) para asegurarnos de que siempre se imprimen correctamente utilizando un especificador de formato. Por ejemplo, si quisiéramos formatear una variable de una cadena f como un flotante, podemos utilizar el especificador de formato f, como por ejemplo: print(f"{some_variable:f}").
Lea también: ¿Cómo localizar tus XML del SAT?
