文字列を浮動小数点数(double型)への変換(最終文字列へのポインタ格納)を行います。
double strtod(const char *str, char **ptr);
部分文字列が変換できた場合,その値を返します。変換できなかった場合,0を返します。
オーバーフローが生じる(値が表現可能な値の範囲にない)場合,HUGE_VAL,または-HUGE_VALを返し,ERANGEをグローバル変数errnoにセットします。アンダフローが生じる場合,0を返し,マクロERANGEをグローバル変数errnoにセットします。
strの指す文字列の最初の部分をdouble型の表現に変換します。変換される部分文字列は,次の形式の,空白でない通常の文字から始まる,strの最長先頭部分文字列です。
[ + | - ] digits [ . ] [ digits ] [ (e | E) [ + | - ] digits ]
strが空か,または空白文字だけから成り立っている場合,および最初の通常文字が“+,“-”,“.”,または数字以外の場合,部分文字列には文字が含まれていません。部分文字列が空の場合,変換は行われず,strの値がptrの指す領域に格納されます。空でない場合,部分文字列は変換され,最終文字列(少なくともstrの終端を示すnull文字(\0)を含む)へのポインタがptrの指す領域に格納されます。