Pues me he quedado un poco "picado", y se me ocurrió lo siguiente:
Código Delphi
[-]function Tform1.EsNumero(Numero: string; SepDecimal: char = '.'): boolean;
const
PUNTO = '.';
var
Chequeo: integer;
Num: real;
begin
Numero := Trim(Numero);
if SepDecimal <> PUNTO
then Numero := StringReplace(Numero,SepDecimal,PUNTO,[rfReplaceAll]);
val(Numero, Num, Chequeo);
result := ((Chequeo = 0) and (Numero[Length(Numero)]<> '.'));
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if EsNumero('999,75',',')
then ShowMessage('Es un número')
else ShowMessage('En este planeta eso no es un número');
end;
Saludos,