最終更新日時:
が更新

履歴 編集

function
<cwchar>

std::wcstod

namespace std {
  double wcstod(const wchar_t* nptr, wchar_t** endptr);
}

概要

ワイド文字列nptrdouble型の浮動小数点数に変換する。

解釈の規則は、マルチバイト文字列版のstd::strtod()と同じであり、10進数の浮動小数点数のほか、0xで始まる16進浮動小数点数、INFNANを解釈できる。

戻り値

  • 変換可能ならば変換後の数値を返す
  • 変換後の数値の絶対値が大きすぎて表現できない場合、HUGE_VAL系の値を返し、errnoERANGEを設定する
  • 変換不可能ならば0を返す

備考

  • 小数点を表す文字は、現在のCロケールに依存する

#include <cwchar>
#include <iostream>

int main()
{
  wchar_t* end = nullptr;

  double a = std::wcstod(L"3.14abc", &end);
  std::wcout << static_cast<double>(a) << std::endl;
  std::wcout << end << std::endl;
}

出力

3.14
abc

バージョン

言語

  • C++98

関連項目