namespace std {
float wcstof(const wchar_t* nptr, wchar_t** endptr);
}
概要
ワイド文字列nptrをfloat型の浮動小数点数に変換する。
解釈の規則は、マルチバイト文字列版のstd::strtof()と同じであり、10進数の浮動小数点数のほか、0xで始まる16進浮動小数点数、INF、NANを解釈できる。
戻り値
- 変換可能ならば変換後の数値を返す
- 変換後の数値の絶対値が大きすぎて表現できない場合、
HUGE_VAL系の値を返し、errnoにERANGEを設定する - 変換不可能ならば
0を返す
備考
- 小数点を表す文字は、現在のCロケールに依存する
例
#include <cwchar>
#include <iostream>
int main()
{
wchar_t* end = nullptr;
float a = std::wcstof(L"3.14abc", &end);
std::wcout << static_cast<double>(a) << std::endl;
std::wcout << end << std::endl;
}
出力
3.14
abc
バージョン
言語
- C++11
処理系
- Clang: 3.4 ✅
- GCC: 4.7.1 ✅
- Visual C++: 2019 ✅
関連項目
wcstodwcstoldstd::strtof(): マルチバイト文字列版