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