Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Buscar número en cadena (https://www.clubdelphi.com/foros/showthread.php?t=9272)

torito 19-04-2004 18:02:41

Buscar número en cadena
 
Saludos amigos foreros, me encuentro en un dilema, tengo una cadena y en esa cadena quiero saber si existen números o es solo de carácteres, no me gustaría usar un ciclo y quiero saber si en delphi ya existe esa función...
muchas gracias

jachguate 19-04-2004 18:24:48

podes intentar convertirlo a un número, y si la conversión falla, asumir que hay algun otro caracter...

Código:

  try
    StrToInt(cadena);
  except
    on EConvertError do
      NumeroInvalido := True;
  end;

Hasta luego.

;)

delphi.com.ar 19-04-2004 18:25:50

Podes usar LastDelimiter, pero internamente no deja de hacer un ciclo:
Código:

if LastDelimiter('0123456789', sCadena) > 0 Then
  ShowMessage('Tiene Números');


delphi.com.ar 19-04-2004 18:30:13

Cita:

Empezado por jachguate
podes intentar convertirlo a un número, y si la conversión falla, asumir que hay algun otro caracter...[/code]

Con la respuesta de jachguate me haces dudar... Si quieres saber si es un número válido, puedes utilizar algo como esto:
Código:

function IsInteger(Valor : String) : Boolean;
var
  iRes, iErr : Integer;
begin
  Val(Valor, iRes, iErr);
  Result := iErr = 0;
end;

function IsNumber(Value: string): Boolean;
var
  fRes: Extended;
begin
  Result := TextToFloat(PChar(Value), fRes, fvExtended);
end;

Esto evitará que se produzca una excepción, si quieres saber si la cadena contiene algún número, sin importar si es solo un número, puedes usar la solución que te pase en el hilo anterior.

Saludos!

torito 19-04-2004 19:05:25

A mi también me agrado mas la segunda respuesta, en si la primera no me resolveria mi problema, muchas gracias


La franja horaria es GMT +2. Ahora son las 08:00:09.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi