名前空間
変種
操作

std::atof

From cppreference.com
< cpp‎ | string‎ | byte
 
 
 
 
ヘッダ <cstdlib> で定義
double atof( const char* str );

str で指されるバイト文字列を浮動小数点値として解釈します。

関数は、最初の空白でない文字が見つかるまで、std::isspace で決定される空白文字をすべて破棄します。次に、有効な浮動小数点表現を形成するために可能な限り多くの文字を取得し、それらを浮動小数点値に変換します。有効な浮動小数点値は、次のいずれかになります。

  • 10進数浮動小数点表記。以下の部分から構成されます。
  • (任意)プラスまたはマイナスの記号
  • 10進数字の非空のシーケンス。オプションで小数点文字(現在のC ロケールによって決定される)を含む(シグニフィカンドを定義する)。
  • (任意)eまたはE、それにオプションのマイナスまたはプラス記号と10進数字の非空のシーケンスが続く(10を底とする指数を定義する)。
  • 16進数浮動小数点表記。以下の部分から構成されます。
  • (任意)プラスまたはマイナスの記号
  • 0xまたは0X
  • 16進数字の非空のシーケンス。オプションで小数点文字(現在のC ロケールによって決定される)を含む(シグニフィカンドを定義する)。
  • (任意)pまたはP、それにオプションのマイナスまたはプラス記号と10進数字の非空のシーケンスが続く(2を底とする指数を定義する)。
  • 無限大表記。以下の部分から構成されます。
  • (任意)プラスまたはマイナスの記号
  • INFまたはINFINITY(大文字・小文字を区別しない)。
  • 非数(NaN)表記。以下の部分から構成されます。
  • (任意)プラスまたはマイナスの記号
  • NANまたはNAN(char_sequence )NAN部分の大文字・小文字は区別しない。*char_sequence*は数字、ラテン文字、アンダースコアのみを含むことができる。結果はクワイエットNaN浮動小数点値となる。
(C++11以降)
  • 現在インストールされているC ロケールで受け入れられる可能性のあるその他の表現。

目次

[編集] パラメータ

str - 解釈されるヌル終端バイト文字列へのポインタ

[編集] 戻り値

成功した場合、double str の内容に対応する値。変換された値が戻り値の型の範囲を超える場合、戻り値は未定義です。変換が実行できない場合、0.0 が返されます。

[編集]

#include <cstdlib>
#include <iostream>
 
int main()
{
    std::cout << std::atof("0.0000000123") << '\n'
              << std::atof("0.012") << '\n'
              << std::atof("15e16") << '\n'
              << std::atof("-0x1afp-2") << '\n'
              << std::atof("inF") << '\n'
              << std::atof("Nan") << '\n'
              << std::atof("invalid") << '\n';
}

出力

1.23e-08
0.012
1.5e+17
-107.75
inf
nan
0

[編集] 関連項目

(C++11)(C++11)(C++11)
文字列を浮動小数点値に変換する
(function) [編集]
バイト文字列を浮動小数点値に変換する
(関数) [編集]
文字シーケンスを整数値または浮動小数点数値に変換する
(関数) [編集]
バイト文字列を整数値に変換する
(関数) [編集]
C のドキュメントatof について)
English 日本語 中文(简体) 中文(繁體)