HOW TO: Convertire una stringa in un numero a virgola mobile

Sommario

In un'applicazione sviluppata con Microsoft C o C/C++ la funzione sscanf() rappresenta una valida alternativa alla funzione atof() per convertire una stringa di cifre in un numero a virgola mobile. Se la stringa non rappresenta un numero valido, la funzione atof() restituirà il valore zero. Se si utilizza la funzione sscanf() verranno restituite informazioni più dettagliate sull'errore. Per la gestione degli errori, nell'applicazione può essere utilizzato il valore di errore restituito da sscanf() con la funzione matherr(). La funzione atof() non chiama matherr(), a meno che non si verifichi una reale eccezione matematica.


Nel testo sottostante sono riportati due metodi consigliati per convertire una stringa in un numero a virgola mobile.
  • Convalidare la stringa da convertire prima di chiamare la funzione atof(). Assicurarsi che la stringa non contenga caratteri non numerici e che la virgola decimale e i segni siano nelle posizioni corrette.
  • Utilizzare la funzione sscanf(). È più lenta della funzione atof(), ma fornisce informazioni più dettagliate quando si verifica un errore.
Proprietà

ID articolo: 11558 - Ultima revisione: 05 lug 2005 - Revisione: 1

Feedback