Inicio > Delphi > ghazghkull > Como saber si una Cadena de Caracteres es Numerica

Como saber si una Cadena de Caracteres es Numerica

Experto:
Usuario:
Fecha: 09/04/2004
Valoración: (4,00 sobre 5) Categoría: Delphi
08/04/2004
pichito, usuario preguntando en Delphi
Usuario
El problema que tengo, es que como puedo identificar un dato, ya que Leeo con InputQuery, y lo que quiero leer es un Numero ya que Inputquery me devuelve una cadena:
X:=StrToInt(InputQuery('Numero','inserta',''));
Pero me marca Error cuando InputQuery me lee caracteres como valido eso de que haga a la fuerza que InputQuery me lea Numericamente, o como Valido por aparte para saber si lo que lei es una cadena de caracteres numericos, ya que en VB se ocupa el "ISNUMERIC", pero en Delphi no se como sea... Espero y me puedas ayudar Gracias...Saludos
Atte: Luis (Es en DELPHI)
09/04/2004
pichito, experto respondiendo en Delphi
Experto
Tienes varias opciones:

1. cuando se produce una conversión con error el Delphi lanza una excepción de tipo EConvertError:

try
X:=StrToInt(InputQuery('Numero','inserta',''));
except
on E: EConvertError do
// Código haciendo lo q tu quieras (o nada)
end;

2. Utilizar la función StrToIntDef, si el valor a convertir no es correcto devolverá el valor que tu hayas puesto por defecto:

X:=StrToIntDef(InputQuery('Numero','inserta',''), -1);

3. Crearte tu propia función IsNumeric

Saludos
09/04/2004
pichito, usuario preguntando en Delphi
Usuario
Muy Bien. Me ha sido de gran utilidad
Más opciones
Enlaces patrocinados