Penguin
Annotated edit history of strtod(3) version 1, including all changes. View license author blame.
Rev Author # Line
1 perry 1 STRTOD
2 !!!STRTOD
3 NAME
4 SYNOPSIS
5 DESCRIPTION
6 RETURN VALUE
7 ERRORS
8 CONFORMING TO
9 SEE ALSO
10 ----
11 !!NAME
12
13
14 strtod, strtof, strtold - convert ASCII string to floating point number
15 !!SYNOPSIS
16
17
18 __#include __
19
20
21 __double strtod(const char *__''nptr''__, char
22 **__''endptr''__);
23 float strtof(const char *__''nptr''__, char
24 **__''endptr''__);
25 long double strtold(const char *__''nptr''__, char
26 **__''endptr''__);__
27 !!DESCRIPTION
28
29
30 The __strtod__, __strtof__, and __strtold__
31 functions convert the initial portion of the string pointed
32 to by ''nptr'' to __double__, __float__, and
33 __long double__ representation,
34 respectively.
35
36
37 The expected form of the (initial portion of the) string is
38 optional leading white space as recognized by ''is-
39 space''(3), an optional plus (``+'') or minus sign (``-'')
40 and then either (i) a decimal number, or (ii) a hexadecimal
41 number, or (iii) an infinity, or (iv) a NAN
42 (not-a-number).
43
44
45 A ''decimal number'' consists of a nonempty sequence of
46 decimal digits possibly containing a radix character
47 (decimal point, locale dependent, usually ``.''), optionally
48 followed by a decimal exponent. A decimal exponent consists
49 of an ``E'' or ``e'', followed by an optional plus or minus
50 sign, followed by a non-empty sequence of decimal digits,
51 and indicates multiplication by a power of 10.
52
53
54 A ''hexadecimal number'' consists of a ``0x'' or ``0X''
55 followed by a nonempty sequence of hexadecimal digits
56 possibly containing a radix character, optionally followed
57 by a binary exponent. A binary exponent consists of a ``P''
58 or ``p'', followed by an optional plus or minus sign,
59 followed by a non-empty sequence of decimal digits, and
60 indicates multiplication by a power of 2. At least one of
61 radix character and binary exponent must be
62 present.
63
64
65 An ''infinity'' is either ``INF'' or ``INFINITY'',
66 disregarding case.
67
68
69 A ''NAN'' is ``NAN'' (disregarding case) optionally
70 followed by `(', a sequence of characters, followed by ')'.
71 The character string specifies in an
72 implementation-dependent way the type of NAN.
73 !!RETURN VALUE
74
75
76 These functions return the converted value, if
77 any.
78
79
80 If ''endptr'' is not __NULL__, a pointer to the
81 character after the last character used in the conversion is
82 stored in the location referenced by
83 ''endptr''.
84
85
86 If no conversion is performed, zero is returned and the
87 value of ''nptr'' is stored in the location referenced by
88 ''endptr''.
89
90
91 If the correct value would cause overflow, plus or minus
92 __HUGE_VAL__ (__HUGE_VALF__, __HUGE_VALL__) is
93 returned (according to the sign of the value), and
94 __ERANGE__ is stored in ''errno''. If the correct
95 value would cause underflow, zero is returned and
96 __ERANGE__ is stored in ''errno''.
97 !!ERRORS
98
99
100 __ERANGE__
101
102
103 Overflow or underflow occurred.
104 !!CONFORMING TO
105
106
107 ANSI C describes __strtod__, C99 describes the other two
108 functions.
109 !!SEE ALSO
110
111
112 atof(3), atoi(3), atol(3),
113 strtol(3), strtoul(3)
114 ----
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.