wcstold
函数 <cwchar>
long double wcstold (const wchar_t* str, wchar_t** endptr);
将宽字符串类型转换为 long double类型
解析C宽字符串str,将其内容解释为浮点数,并以long double形式返回其值。
如果endptr不是空指针,该函数还将整数后面的第一个字符设置为endptr指向的值。
这是与
strtold
(<
cstdlib>)等效的宽字符版本,以同样的方式解释str。
☲ 参数
str
以浮点数表示开头的宽字符串。
endptr
引用类型为
wchar_t*的已分配对象,其值由函数设置为浮点数后的str中的下一个字符。
该参数也可以是空指针,在这种情况下,函数不会使用它。
☉ 返回值
如果成功,该函数将转换后的浮点数作为 long double类型的值返回。
如果不能执行有效的转换,则函数返回0(0.0L)。
如果正确的值超出了该类型的可表示值的范围,
则返回正的或负的
HUGE_VALL,
并将
errno设置为ERANGE。
如果正确的值会导致下溢,则函数返回一个大小不大于最小的标准化正数的值
(在这种情况下,一些库实现也可能将
errno设置为ERANGE)。
☣ 示例
/* wcstold example */
#include <wchar.h>
int main ()
{
wchar_t szOrbits[] = L"90613.305 365.24";
wchar_t * pEnd;
long double f1, f2;
f1 = wcstold (szOrbits,&pEnd);
f2 = wcstold (pEnd,NULL);
wprintf (L"Pluto takes %.2Lf years to complete an orbit.\n", f1/f2);
return 0;
}
|
输出:
Pluto takes 248.09 years to complete an orbit.
|
🍄 另请参阅
strtold |
将字符串转换为 long double(function ) |
wcstod |
将宽字符串转换为double (function ) |
wcstol |
将宽字符串转换为long integer (function ) |