Standards / Extensions | C or C++ | Dependencies |
---|---|---|
C99 |
both | z/OS® V1R7 |
#define _ISOC99_SOURCE
#include <wchar.h>
long double wcstold(const wchar_t *__restrict__ nptr,
wchar_t **__restrict__ endptr);
wcstold() converts a wchar_t * floating-point number input string to a long double value. The parameter nptr points to a sequence of wide-characters that can be interpreted as a numerical long double value.
It decomposes the input wide-character string into three parts:
The function then attempts to convert the subject string into the floating-point number, and returns the result.
The expected form of the subject sequence is an optional plus or minus sign, then one of the following:
See the "scanf() Family of Formatted Input Functions" for a description of special infinity and NaN sequences recognized by z/OS formatted input functions in IEEE Binary Floating-Point mode. The pointer to the final wide-character string is stored in the object pointed to by endptr, provided that endptr is not a NULL pointer.
If successful, wcstold() returns the converted value, if any. If no conversion could be performed, it returns 0.
The long double value is a hexadecimal floating-point or IEEE Binary Floating-Point format depending on the floating-point mode of the invoking thread. This function uses __isBFP() to determine the floating-point mode of the invoking thread.
If the correct value is outside the range of representable values, then +/-HUGE_VALL, according to the sign of the value, is returned and the value of the ERANGE macro is stored in errno.