[HOW TO] 文字列を浮動小数点数に変換する方法

概要

Microsoft C または C/C++ で開発するアプリケーションで、数字から成る文字列を浮動小数点数に変換する際、atof() 関数の代わりに sscanf() 関数を使うことができます。文字列が有効な数を表していない場合、atof() では値ゼロが返りますが、sscanf() ではより有用なエラー情報が返されます。アプリケーションは、matherr() 関数で sscanf() からのエラー値を使ってエラー処理を実行することができます。atof() 関数では、実際の数値演算例外が発生しない限り matherr() が呼び出されません。


下記は、文字列を浮動小数点数に変換する際に推奨される 2 つの方法を示したものです。
  • atof() 関数を呼び出す前に、変換する文字列が有効であることを確認します。数を表す文字以外の文字がその文字列に含まれていないこと、小数点や正負符号が正しい位置にあることを確かめてください。
  • sscanf() 関数を使用します。この関数では atof() 関数よりも処理が遅くなりますが、エラーが発生したときにはより有用な情報が得られます。

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 11558 (最終更新日 2001-11-14) をもとに作成したものです。


プロパティ

文書番号:11558 - 最終更新日: 2005/07/05 - リビジョン: 1

フィードバック