Creates a new instance from the given string.
SDK
- Xcode 9.0+
Framework
- Swift Standard Library
Declaration
Parameters
text
The input string to convert to a
Double
instance. Iftext
has invalid characters or is in an invalid format, the result isnil
.
Discussion
The string passed as text
can represent a real number in decimal or hexadecimal format or special floating-point values for infinity and NaN (“not a number”).
The given string may begin with a plus or minus sign character (+
or -
). The allowed formats for each of these representations is then as follows:
A decimal value contains the significand, a sequence of decimal digits that may include a decimal point.
A decimal value may also include an exponent following the significand, indicating the power of 10 by which the significand should be multiplied. If included, the exponent is separated by a single character,
e
orE
, and consists of an optional plus or minus sign character and a sequence of decimal digits.A hexadecimal value contains the significand, either
0X
or0x
, followed by a sequence of hexadecimal digits. The significand may include a decimal point.A hexadecimal value may also include an exponent following the significand, indicating the power of 2 by which the significand should be multiplied. If included, the exponent is separated by a single character,
p
orP
, and consists of an optional plus or minus sign character and a sequence of decimal digits.A value of infinity contains one of the strings
"inf"
or"infinity"
, case insensitive.A value of NaN contains the string
"nan"
, case insensitive.A NaN value may also include a payload in parentheses following the
"nan"
keyword. The payload consists of a sequence of decimal digits, or the characters0X
or0x
followed by a sequence of hexadecimal digits. If the payload contains any other characters, it is ignored. If the value of the payload is larger than can be stored as the payload of aDouble
, the least significant bits are used..nan
Passing any other format or any additional characters as text
results in nil
. For example, the following conversions result in nil
: