Il controllo, come si puo' vedere dal semplicissimo codice, e' fatto soltanto sulle cifre.Originariamente inviato da Paulin
In questo modo lavora correttamente, riconoscendo char str[] = "123"; come numerica e char str[] = "abc"; come non numerica. Se però definisco una stringa numerica di tipo floating: char str[] = "123.456"; la riconosce come non numerica.
Fose bisognerebbe aggiungere:
...non conosco il valore del carattere "punto".codice:if( (*string < '0') || (*string > '9') || (*string == ### )
Quindi e' evidente che qualsiasi altro controllo deve essere fatto appositamente ...
E questo vale per il + per il - per il . e per la ,
Il codice del punto e'
'.'
(facile no?)
Fai attenzione nel modificare il codice ... quello che hai scritto non va molto bene perche' cosi' sarebbe possibile avere piu' di un punto decimale ...