スポンサーリンク

STRTOD(3) FreeBSD ライブラリ関数マニュアル STRTOD(3)

名称

strtod − ASCII 文字列を double に変換

ライブラリ

標準 C ライブラリ (libc, −lc)

書式

#include <stdlib.h>

double

strtod(const char *nptr, char **endptr);

解説

strtod() 関数は、 nptr が指す文字列の最初の部分を double による表現に変換 します。

文字列に想定される形は、オプションのプラス (‘‘+’’) またはマイナス (‘‘−’’) 記号、続いて数字の並び (これはオプションで小数点文字を含みます)、オプショ ンで指数が続くというものです。指数は、 ‘‘E’’ または ‘‘e’’ にオプションで プラスまたはマイナス記号が続いて、さらに数字の並びが続くという形です。

文字列の先頭の空白文字 (isspace(3) 関数により定義されるような) はスキップ します。

戻り値

strtod() 関数は、どんなときでも変換された値を返します。

endptr が NULL でない場合は、変換に使われた最後の文字の次の文字へのポイン タが、 endptr により参照される場所に格納されます。

変換が行われなかった場合は 0 が返され、 nptr の値は endptr によって参照さ れる場所に格納されます。

正しい値がオーバフローとなると思われるときは、 (その値の符号にしたがって) プラスまたはマイナスの HUGE_VAL が返され、 ERANGE が errno に保存されま す。正しい値がアンダフローとなると思われるときは、 0 が返され、 ERANGE が errno に保存されます。

エラー

       [ERANGE]

オーバフローまたはアンダフローが起きました。

関連項目

atof(3), atoi(3), atol(3), strtol(3), strtoul(3)

規格

strtod() 関数は、 ISO/IEC 9899:1990 (‘‘ISO C89’’) に適合しています。

作者

このソフトウェアの作者は David M. Gay です。

Copyright (c) 1991 by AT&T.

本ソフトウェアのコピーや修正版、またはそれらを含むソフトウェアのすべての コピー、およびそのようなソフトウェアのサポートドキュメントのすべてのコ ピーにこの注意書き全体が含まれていることを条件として、このソフトウェアを 無料であらゆる目的に使用し、コピーし、修正し、配布することをここに許諾し ます。

本ソフトウェアは、いかなる明示的または暗黙的な保証なしに、「そのままの 形」で提供されています。特に、作者あるいは AT&T は、本ソフトウェアの商品 性または特定の目的に対する適合性に関する説明または保証を一切行いません。

strtod() およびそれに付随する関数のソースコードの無料コピー入手について は、ベンダに連絡してください。

FreeBSD 10.0 June 4, 1993 FreeBSD 10.0

スポンサーリンク