PROCEDIMENTOS: Converter uma seqüência em número de ponto flutuante

Sumário

Em um aplicativo desenvolvido com o Microsoft C ou C/C++, a função sscanf() é uma boa alternativa para a função atof() quando se deseja converter uma seqüência de dígitos em um número de ponto flutuante. Se uma seqüência não representar um número válido, a função atof() retornará o valor zero, enquanto sscanf() retornará informações mais úteis sobre o erro. O aplicativo pode usar o valor de erro de sscanf() com a função matherr() para executar o tratamento de erro. A função atof() só chamará matherr() se ocorrer realmente uma exceção matemática.

O texto abaixo apresenta dois métodos recomendados para converter uma seqüência em um número de ponto flutuante.
  • Valide a seqüência a ser convertida antes de chamar a função atof(). Certifique-se de que a seqüência não contém caracteres não numéricos e de que os caracteres de sinal e de ponto decimal estão nos locais corretos.
  • Use a função sscanf(). Embora seja mais lenta que a função atof(), ela fornece informações mais adequadas em caso de erro.
Propriedades

ID do Artigo: 11558 - Última Revisão: 5 de jul de 2005 - Revisão: 1

Comentários