日本-日本語 |
|
|
|
OpenVMS マニュアル |
|
HP OpenVMS
|
目次 | 索引 |
strtod |
指定された文字列を倍精度の数値に変換します。
#include <stdlib.h>関数バリアント strtod関数は,それぞれ 32 ビットと 64 ビットのポインタ・サイズで使用するための _strtod32と _strtod64という名前のバリアントを持っています。ポインタ・サイズ固有の関数の使用方法については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 1.9 節を参照してください。double strtod (const char *nptr, char **endptr);
nptr
倍精度の数値に変換する文字列へのポインタ。endptr
関数が,スキャンを終了させた最初の認識不可能な文字のアドレスを格納できるオブジェクトのアドレス。 endptr が NULL ポインタである場合,最初の認識不可能な文字のアドレスは保存されません。
strtod関数は,オプションとして空白文字 ( isspaceの定義に従う) のシーケンスを,さらにオプションのプラスまたはマイナス記号を,さらにオプションとして基数文字を含んだ数字のシーケンスを,さらにオプションの文字 (e または E) を,最後にオプションの符号付きの整数を認識します。最初の認識不可能な文字が現れた時点で,変換は終了します。文字列は,浮動小数点定数を解釈するときに使用されるのと同じ規則によって解釈されます。
基数文字は,プログラムの現在のロケール (カテゴリ LC_NUMERIC) によって定義されます。
この関数は,変換後の値を返します。 strtodでは,オーバフローは次のように処理されます。
- 正しい値がオーバフローを引き起こす場合には, ( 値の符号に従ってプラスまたはマイナス記号が付いた ) HUGE_VAL が返され, errnoは ERANGE に設定される。
- 正しい値がアンダフローを引き起こす場合には,0 が返され, errnoは EINVAL に設定される。
文字列が認識不可能な文字から始まっている場合には,変換は実行されない。 *entptr は nptr に設定され,0 の値が返され, errnoは EINVAL に設定される。
x 変換された文字列。 0 変換が実行できなかったことを示します。 errno は以下のいずれかに設定されます。
- EINVAL - 変換は実行できなかった。
- ERANGE - 値はアンダフローを引き起こす。
- ENOMEM - 内部変換バッファ用のメモリが足りなかった。
±HUGE_VAL オーバフローが発生しました。 errno は ERANGE に設定されます。
目次 | 索引 |
|