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

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

C++官网参考链接:https://cplusplus.com/reference/cwchar/wcstod/

函数
<cwchar>
wcstod
double wcstod (const wchar_t* str, wchar_t** endptr);
将宽字符串转换为double
解析C宽字符串str,将其内容解释为浮点数,并将其值返回为double。如果endptr不是空指针,该函数还将endptr的值设置为指向数字后面的第一个字符。
这是strtod<cstdlib>)的宽字符的等效函数,以相同的方式解释str。

形参 
str
以浮点数表示形式开头的C宽字符串。
endptr
引用已分配的类型为wchar_t*的对象,该对象的值由函数设置为str中数值之后的下一个字符。
此形参也可以是空指针,在这种情况下,函数不使用它。

返回值
如果成功,函数将转换后的浮点数作为double类型的值返回。
如果不能执行有效的转换,则函数返回0(0.0)。
如果正确的值超出了该类型的可表示值的范围,则返回正的或负的HUGE_VAL,并将errno设置为ERANGE
如果正确的值会导致下溢,则函数返回一个绝对大小不大于最小规范化正数的值(在这种情况下,一些库实现还可能将errno设置为ERANGE)。

用例
/* wcstod example */
#include <wchar.h>

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

另请参考
strtod    Convert string to double (function)
wcstol    Convert wide string to long integer (function)
wcstoul    Convert wide string to unsigned long integer (function) 

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

网站公告

今日签到

点亮在社区的每一天
去签到