Everything

strtod


文字列を浮動小数点数(double型)への変換(最終文字列へのポインタ格納)を行います。

[所属]

標準ライブラリ

[指定形式]

#include <stdlib.h>

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の指す領域に格納されます。

備考

本関数は,リエントラントではありません。