wstod man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

WCSTOD(3C)							    WCSTOD(3C)

NAME
       wcstod,	wcstof,	 wcstold, wstod, watof - convert wide character string
       to floating-point number

SYNOPSIS
       #include <wchar.h>

       double wcstod(const wchar_t *restrict nptr,
	    wchar_t **restrict endptr);

       float wcstof(const wchar_t *restrict nptr,
	    wchar_t **restrict endptr);

       long double wcstold(const wchar_t *restrict nptr,
	    wchar_t **restrict endptr);

       double wstod(const wchar_t *nptr, wchar_t **endptr);

       double watof(wchar_t *nptr);

DESCRIPTION
       The wcstod(), wcstof(), and wcstold()  functions	 convert  the  initial
       portion	of  the	 wide-character	 string	 pointed to by nptr to double,
       float, and long double representation, respectively.  They first decom‐
       pose the input wide-character string into three parts:

	   1.	  An  initial,	possibly  empty, sequence of white-space wide-
		  character codes (as specified by iswspace(3C))

	   2.	  A subject sequence interpreted as a floating-point  constant
		  or representing infinity or NaN

	   3.	  A  final  wide-character  string of one or more unrecognized
		  wide-character codes, including the terminating  null	 wide-
		  character code of the input wide-character string.

       Then  they  attempt to convert the subject sequence to a floating-point
       number, and return the result.

       The expected form of the subject sequence is an optional plus or	 minus
       sign, then one of the following:

	   o	  A non-empty sequence of decimal digits optionally containing
		  a radix character, then an optional exponent part

	   o	  A 0x or 0X, then a non-empty sequence of hexadecimal	digits
		  optionally  containing  a  radix character, then an optional
		  binary exponent part

	   o	  One of INF or INFINITY, or any other wide string  equivalent
		  except for case

	   o	  One  of NAN or NAN(n-wchar-sequence(opt)), or any other wide
		  string ignoring case in the NAN part, where:

		    n-wchar-sequence:
			digit
			nondigit
			n-wchar-sequence digit
			n-wchar-sequence nondigit

       In  default  mode  for  wcstod(),  only	decimal,   INF/INFINITY,   and
       NAN/NAN(n-char-sequence) forms are recognized. In C99/SUSv3 mode, hexa‐
       decimal strings are also recognized.

       In default mode for wcstod(), the n-char-sequence  in  the  NAN(n-char-
       equence)	 form can contain any character except ')' (right parenthesis)
       or '\0' (null).	In C99/SUSv3 mode,  the	 n-char-sequence  can  contain
       only upper and lower case letters, digits, and '_' (underscore).

       The  wcstof() and wcstold() functions always function in C99/SUSv3-con‐
       formant mode.

       The subject sequence is defined as the longest initial  subsequence  of
       the  input  wide	 string,  starting with the first non-white-space wide
       character, that is of the expected form. The subject sequence  contains
       no  wide	 characters  if	 the  input wide string is not of the expected
       form.

       If the subject sequence has the expected form for a floating-point num‐
       ber,  the  sequence of wide characters starting with the first digit or
       the radix character (whichever occurs first) is interpreted as a float‐
       ing  constant according to the rules of the C language, except that the
       radix character is used in place of a period, and that  if  neither  an
       exponent part nor a radix character appears in a decimal floating-point
       number, or if a binary exponent part does not appear in	a  hexadecimal
       floating-point  number,	an  exponent part of the appropriate type with
       value zero is assumed to follow the last digit in the  string.  If  the
       subject	sequence begins with a minus sign, the sequence is interpreted
       as negated. A wide-character sequence INF or INFINITY is interpreted as
       an   infinity.	A   wide-character   sequence	NAN   or  NAN(n-wchar-
       sequence(opt)) is interpreted as a quiet NaN. A pointer	to  the	 final
       wide string is stored in the object pointed to by endptr, provided that
       endptr is not a null pointer.

       If the subject sequence has either the decimal or hexadecimal form, the
       value  resulting	 from the conversion is rounded correctly according to
       the prevailing floating point rounding direction mode.  The  conversion
       also  raises  floating point inexact, underflow, or overflow exceptions
       as appropriate.

       The radix character  is	defined	 in  the  program's  locale  (category
       LC_NUMERIC).  In the POSIX locale, or in a locale where the radix char‐
       acter is not defined, the radix character defaults to a period ('.').

       If the subject sequence is empty or does not have the expected form, no
       conversion  is  performed;  the	value of  nptr is stored in the object
       pointed to by endptr, provided that  endptr is not a null pointer.

       The wcstod() function does not change the setting of errno if  success‐
       ful.

       The wstod() function is identical to wcstod().

       The watof(str) function is equivalent to wstod(nptr, (wchar_t **)NULL).

RETURN VALUES
       Upon successful completion, these functions return the converted value.
       If no conversion could be performed, 0 is returned.

       If the correct value is outside	the  range  of	representable  values,
       ±HUGE_VAL, ±HUGE_VALF, or ±HUGE_VALL is returned (according to the sign
       of the value), a floating point overflow exception is raised, and errno
       is set to ERANGE.

       If  the	correct	 value would cause an underflow, the correctly rounded
       result (which may be normal, subnormal, or zero) is returned, a	float‐
       ing point underflow exception is raised, and errno is set to ERANGE.

ERRORS
       The wcstod() and wstod() functions will fail if:

       ERANGE
		 The value to be returned would cause overflow or underflow.

       The wcstod() and wcstod() functions may fail if:

       EINVAL
		 No conversion could be performed.

USAGE
       Because	0  is returned on error and is also a valid return on success,
       an application wishing to check for error situations should  set	 errno
       to  0 call wcstod(), wcstof(), wcstold(), or wstod(), then check	 errno
       and if it is non-zero, assume an error has occurred.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌────────────────────┬────────────────────────────┐
       │ATTRIBUTE TYPE	    │ ATTRIBUTE VALUE		 │
       ├────────────────────┼────────────────────────────┤
       │Interface Stability │ wcstod(),	 wcstof(),   and │
       │		    │ wcstold() are Standard.	 │
       ├────────────────────┼────────────────────────────┤
       │MT-Level	    │ MT-Safe			 │
       └────────────────────┴────────────────────────────┘

SEE ALSO
       iswspace(3C),  localeconv(3C),  scanf(3C),  setlocale(3C),  wcstol(3C),
       attributes(5), standards(5)

				 Mar 31, 2003			    WCSTOD(3C)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net