Potresti procedere in due modi:
[list=1][*]tentare la conversione della stringa in numero verificando la presenza di un errore;[*]verificare la "numericità" dei caratteri analizzandone uno alla volta.[/list=1]
Per il primo approccio, potresti utilizzare la procedura Val di Delphi, la quale converte una stringa numerica in un valore float o intero. Se la stringa contiene caratteri "non convertibili", ti viene restituita la posizione del primo di questi caratteri "ostili". Analizzando questo valore di ritorno, puoi determinare se i caratteri di una stringa sono tutti numerici: la posizione del carattere non valido è uguale a zero in caso affermativo.
Per il secondo approccio, potresti scandire tutti i caratteri della stringa verificando se appartengono all'insieme dei caratteri numerici usando l'operatore in in questo modo:
Prova e dimmi come ti è andata.codice:Result := True; for i := 1 to Length(s) do begin if not(s[i] in ['0'..'9']) then begin Result := False; Break; end; end; (codice non verificato)
Ciao!![]()

Rispondi quotando