Dentro al ciclo inseriscine un altro (con una For ...) in cui controlli carattere per carattere il contenuto di a usando la mid$

Se non e' un carattere compreso tra "0" e "9" (includi magari anche il punto decimale) allora indica la condizione d'errore e ripeti comunque la while