Python ValueError: Literal no válido para Float()

Zeeshan Afridi 10 octubre 2023
  1. el ValueError: literal no válido para float () en Python
  2. Solucione el ValueError: literal no válido para float () en Python
Python ValueError: Literal no válido para Float()

Cuando pasa un argumento no reconocido que no es compatible con la función float(), el compilador de Python generará un error como ValueError: literal no válido para float(). El compilador de Python genera este ValueError: literal no válido para float() en las versiones de Python 2x y ValueError: no se pudo convertir la cadena en flotante en las versiones de Python 3x cuando pasa el valor de la cadena como argumento al float() función.

el ValueError: literal no válido para float () en Python

La función float() no es capaz de convertir una cadena en un número de punto flotante. Más bien arroja un ValueError que puede ser diferente según su versión de Python.

Veamos un ejemplo tanto para Python 2 como para Python 3.

Código - Python 2:

# python 2.7
import sys

print("The Current version of Python:", sys.version)

x = "123xyx"
y = float(x)
print(y)

Producción :

The current version of Python: 2.7.18
ValueError: invalid literal for float(): 123xyx

Código - Python 3:

# >= Python 3.7
import sys

print("The Current version of Python:", sys.version)

x = "123xyx"
y = float(x)
print(y)

Producción :

The current version of Python: 3.7.4
ValueError: could not convert string to float: '123xyx'

Ejecutamos el mismo código en Python 2.7 y Python 3.7, pero el error no es el mismo debido a la mejora y desarrollo continuo del compilador de Python.

Solucione el ValueError: literal no válido para float () en Python

Para corregir el error de valor literal no válido para float() o no se pudo convertir la cadena en flotante, debe proporcionar un literal válido como argumento para la función float() para que pueda analizarlo correctamente.

Puede proporcionar una cadena numérica válida (solo dígitos) o un valor entero a la función flotante para que funcione perfectamente.

Código:

h = input("Enter you height:")
print(type(h))

height = float(h)
print("\nYour height is:", height)
print(type(height))

Producción :

Enter you height:5.4
<class 'str'>

Your height is: 5.4
<class 'float'>

El valor de la altura siempre está en coma flotante, pero la declaración de entrada toma cada entrada como una cadena. Entonces, en el caso anterior, el usuario ingresó su altura "5.4" cuya clase es str, pero luego lo convertimos en 'float'.

Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn

Artículo relacionado - Python Error