Python: comprobar si una cadena es numérica

Ejemplos de Python3

El siguiente ejemplo crea una función personalizadais_number()Método para determinar si una cadena es un número:

Ejemplo (Python 3.0+)

# -*- coding: UTF-8 -*- # Filename : test.py # author by : www.example.com def is_number(s): try: float(s) return True except ValueError: pass try: import unicodedata unicodedata.numeric(s) return True except (TypeError, ValueError): pass return False # Prueba de cadenas y números print(is_number('foo')) # False print(is_number('1')) # True print(is_number('1.3')) # True print(is_number('-1.37')) # True print(is_number('1e3')) # True # Prueba de Unicode # Árabe 5 print(is_number('٥')) # True # Tailandés 2 print(is_number('๒')) # True # Números chinos print(is_number('cuatro')) # True # Símbolo de copyright print(is_number('©')) # False

También podemos implementarlo usando una sentencia if anidada:

Al ejecutar el código anterior, el resultado es:

False
True
True
True
True
True
True
True
False

Más métodos

Python isdigit() El método comprueba si la cadena consta solo de dígitos.

Python isnumeric() El método comprueba si la cadena consta solo de dígitos. Este método es únicamente para objetos unicode.

Ejemplos de Python3

Otras extensiones