C++官网参考链接:https://cplusplus.com/reference/cwchar/wcstod/
函数
wcstod
double wcstod (const wchar_t* str, wchar_t** endptr);
将宽字符串转换为double
解析C宽字符串str,将其内容解释为浮点数,并将其值返回为double。如果endptr不是空指针,该函数还将endptr的值设置为指向数字后面的第一个字符。
这是strtod(
形参
str
以浮点数表示形式开始的C宽字符串。
endptr
引用已分配的类型为wchar_t*的对象,该对象的值由函数设置为str中数值之后的下一个字符。
此形参也可以是空指针,在这种情况下,函数不使用它。
返回值
如果成功,函数将转换后的浮点数作为double类型的值返回。
如果不能执行有效的转换,则函数返回0(0.0)。
如果正确的值超出了该类型的可表示值的范围,则返回正的或负的HUGE_VAL,并将errno设置为ERANGE。
如果正确的值会导致下溢,则函数返回一个绝对大小不大于最小规范化正数的值(在这种情况下,一些库实现还可能将errno设置为ERANGE)。
用例
/* wcstod example */
#include
int main ()
{
wchar_t szOrbits[] = L"365.24 29.53";
wchar_t * pEnd;
double d1, d2;
d1 = wcstod (szOrbits,&pEnd);
d2 = wcstod (pEnd,NULL);
wprintf (L"The moon completes %.2f orbits per Earth year.\n", d1/d2);
return 0;
}
输出: