Cita:
Empezado por eduarcol
Aja mas problemas a ver a ver
|
Solo una cosa, ¿El siguiente debería considerarse como numero? (Omitiendo las comillas),
"999 " (Con espacio al final, por ejemplo).
Esa función dirá que es alfanumérico. Pero la siguiente no.
Código Delphi
[-]
function TTexto.EsNumero(cValor: String): Boolean;
var
i :Integer;
nSigno, nSeparador: Integer; begin
cValor := Trim(cValor);
i := 0;
nSigno := 0;
nSeparador := 0;
Result := (Length(cValor)>0);
while ((i <= Length(cValor)-1) and (Result = True)) do
begin
inc(i);
Result := (IsNumeric(cValor[i]) or ((cValor[i]='-') and (nSigno = 0) and (i = 1)) or ((cValor[i]=DecimalSeparator) and (nSeparador = 0) and (i <> Length(cValor))));
if (cValor[i]='-') then
Inc(nSigno);
if (cValor[i]=DecimalSeparator) then
Inc(nSeparador);
end;
end;