isnumeric

Chema Cortes py en ls-l.org
Jue Mar 31 10:29:39 CEST 2005


Gumer Coronel Pérez escribió:
> isinstance(x,int)
> 
> Devuelve true si x es un entero, Falso en cualquier otro caso. Para
> float basta con cambiar int por float :)

No te lo recomiendo. Lo primero, porque de los formularios web se 
obtiene siempre los datos como cadena de texto, y segundo, porque hay 
otros "números" que no son instancias de int, por ejemplo:

 >>> isinstance(1L,int)
False
 >>> isinstance(9999999999,int)
False
 >>> isinstance(9999999999,long)
True


Ya que siempre hay que convertir a número desde cadena de texto, lo 
mejor es convertir a número directamente y capturar el error tal como se 
está diciendo.

Como truco elegante podría ser:


def isnumeric(x):
   return set(x)<=set("1234567890.") and x.count(".")<=1

------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es