namespace std {
double wcstod(const wchar_t* nptr, wchar_t** endptr);
}
概要
ワイド文字列nptrをdouble型の浮動小数点数に変換する。
解釈の規則は、マルチバイト文字列版のstd::strtod()と同じであり、10進数の浮動小数点数のほか、0xで始まる16進浮動小数点数、INF、NANを解釈できる。
戻り値
- 変換可能ならば変換後の数値を返す
- 変換後の数値の絶対値が大きすぎて表現できない場合、
HUGE_VAL系の値を返し、errnoにERANGEを設定する - 変換不可能ならば
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
関連項目
wcstofwcstoldstd::strtod(): マルチバイト文字列版