C++ Reference: Standard C++ Library reference: C Library: cwchar: wcstof

发布于:2022-11-04 ⋅ 阅读:(338) ⋅ 点赞:(0)

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;
}
输出:

另请参考
strtof    Convert string to float (function)
wcstod    Convert wide string to double (function)
wcstol    Convert wide string to long integer (function) 

本文含有隐藏内容,请 开通VIP 后查看