STRTOD(3) | Linux Programmer's Manual | STRTOD(3) |
名前
strtod, strtof, strtold - ASCII 文字列を浮動小数点実数に変換する書式
#include <stdlib.h>glibc 向けの機能検査マクロの要件 ( feature_test_macros(7) 参照):
_XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L;
または
cc -std=c99
説明
strtod(), strtof(), strtold() 関数は、 nptr が指し示す文字列のはじめの部分を double, float, long double 型の値にそれぞれ変換する。10 進数 は 1 文字以上の 10 進の数字の列からなり、基を表す文字 (radix charater) (小数点。ロケールに依存するが、通常は'.') が含まれることもある。この後に 10 進の指数部が続いても良い。 10 進の指数部は'E'または'e'と、その後に置かれる正負記号 (省略可)、およびその後に続く 1 文字以上の 10 進の数字の列からなり、 10 の何乗であるかを表す。
16 進数 は、"0x"または "0X"とその後に続く 1 文字以上の 16 進の数字の列からなり、基を表す文字が含まれることもある。この後に 2 進の指数部が続いても良い。 2 進の指数部は'P'または'p'と、その後に置かれる正負記号 (省略可)、およびその後に続く 1 文字以上の 10 進の数字の列から構成され、 2 の何乗であるかを表す。基を表す文字と 2 進の指数部は、どちらか一方しか存在してはならない。
無限 は "INF"または "INFINITY"で表され、大文字小文字は区別されない。
NAN は "NAN" (大文字小文字は区別されない) で表され、その後に'('文字列')'が続く場合もある。この文字列は実装に依存する NAN を指定する。
返り値
これらの関数は、変換された値があれば、それを返す。エラー
- ERANGE
- オーバーフローまたはアンダーフローが起こった。
準拠
C89 では strtod() が、C99 では残りの 2 つの関数が記述されている。注意
成功、失敗どちらの場合でも 0 を返す可能性があるので、プログラムは呼び出す前に errno を 0 に設定し、呼び出し後に errno が 0 以外の値かどうかを確認しエラーが発生したかどうかを判断する必要がある。例
strtol(3) のマニュアルページの例を参照。このページで説明した関数の使用方法も同様である。関連項目
atof(3), atoi(3), atol(3), strtol(3), strtoul(3)この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.51 の一部である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。2010-09-20 | Linux |