Saltar al contenido principal

Cómo comprobar si una cadena es numérica en Python

Cómo comprobar si una cadena es numérica en Python.

Aquí tienes un tutorial paso a paso sobre cómo comprobar si una cadena es numérica en Python:

  1. Comienza definiendo una función llamada es_numerico que tome una cadena como entrada. Esta función comprobará si la cadena es numérica y devolverá un valor booleano (True o False) en consecuencia.

  2. Dentro de la función es_numerico, utiliza las sentencias try y except para manejar cualquier error potencial que pueda ocurrir al intentar convertir la cadena a un tipo numérico.

  3. Dentro del bloque try, utiliza las funciones integradas float o int para intentar convertir la cadena a un número de punto flotante o entero, respectivamente. Si la conversión tiene éxito, significa que la cadena es numérica, por lo que devuelve True.

  4. Si ocurre una excepción durante la conversión (por ejemplo, un ValueError), significa que la cadena no es numérica, así que captura la excepción usando el bloque except y devuelve False.

Aquí tienes un ejemplo de implementación de la función es_numerico:

def es_numerico(cadena):
try:
float(cadena)
return True
except ValueError:
return False

Puedes usar esta función para comprobar si una cadena es numérica llamándola y pasando la cadena como argumento. Por ejemplo:

print(es_numerico("123"))  # Salida: True
print(es_numerico("-45.67")) # Salida: True
print(es_numerico("3.14abc")) # Salida: False
print(es_numerico("xyz")) # Salida: False

En los primeros dos ejemplos, las cadenas son numéricas y la función devuelve True. En los dos últimos ejemplos, las cadenas no son numéricas y la función devuelve False.

Esta implementación funciona tanto para números enteros como para números de punto flotante. Si solo quieres comprobar enteros, puedes modificar la función para usar la función int en lugar de float.