std::stof, std::stod, std::stold
来自cppreference.com
< cpp | string | basic string
该页由英文版wiki使用Google Translate机器翻译而来。
该翻译可能存在错误或用词不当。鼠标停留在文本上可以看到原版本。你可以帮助我们修正错误或改进翻译。参见说明请点击这里. |
在头文件 <string> 中定义
|
||
float stof( const std::string& str, size_t *pos = 0 ); |
(1) | (C++11 起) |
double stod( const std::string& str, size_t *pos = 0 ); |
(2) | (C++11 起) |
long double stold( const std::string& str, size_t *pos = 0 ); |
(3) | (C++11 起) |
解释浮点值的字符串中的
str
. 原文:
Interprets a floating point value in a string
str
. 函数丢弃任何空白字符(由std::isspace()),直到找到第一个非空白字符。然后它会尽可能多的字符可能形成一个有效的浮点表示,并将其转换为浮点值。有效浮点值可以是下列之一:
原文:
Function discards any whitespace characters (as determined by std::isspace()) until first non-whitespace character is found. Then it takes as many characters as possible to form a valid floating point representation and converts them to floating point value. The valid floating point value can be one of the following:
- 十进制浮点表达。它由以下几部分组成:原文:decimal floating point expression. It consists of the following parts:
- (可选)加号或减号
- 可以选择一个的小数点字符(定义尾数)包含的小数位数的非空序列原文:nonempty sequence of decimal digits optionally containing a decimal point character (defines significand)
- (可选)
e
或E
可选的负号或加号和非空的十进制数字序列(DEFINES指数)原文:(可选)e
orE
followed with optional minus or plus sign and nonempty sequence of decimal digits (defines exponent)
-
- 二进制浮点表达。它由以下几部分组成:原文:binary floating point expression. It consists of the following parts:
- (可选)加号或减号
-
0x
or0X
- 可以选择一个的小数点字符(定义尾数)包含十六进制数字的非空序列原文:nonempty sequence of hexadecimal digits optionally containing a decimal point character (defines significand)
- (可选)
p
或P
可选的负号或加号和非空的十六进制数字序列(DEFINES指数)原文:(可选)p
orP
followed with optional minus or plus sign and nonempty sequence of hexadecimal digits (defines exponent)
-
- 无穷的表达。它由以下几部分组成:原文:infinity expression. It consists of the following parts:
- (可选)加号或减号
-
INF
或INFINITY
忽略大小写
-
- 没有一个数的表达。它由以下几部分组成:原文:not-a-number expression. It consists of the following parts:
- (可选)加号或减号
-
NAN
或NAN(
“char_sequence”)
忽略大小写的NAN
部分。 “char_sequence”只能包含字母数字字符。其结果是一个安静的南浮点值.原文:NAN
orNAN(
char_sequence)
ignoring case of theNAN
part. char_sequence can only contain alphanumeric characters. The result is a quiet NaN floating point value.
-
的第一个未转化的字符的索引被存储在
pos
。 NULL通过为pos
,被忽视原文:
The index of the first unconverted character is stored in
pos
. If NULL is passed as pos
, it is ignored.目录 |
[编辑] 参数
str | - | 要转换的字符串。一个整数来存储索引的第一个未转换的字符
|
pos | - | 地址的整数存储索引的第一个未转化的字符
原文: address of integer to store the index of the first unconverted character |
[编辑] 返回值
字符串转换为指定的浮点类型.
原文:
The string converted to the specified floating point type.
[编辑] 例外
std::invalid_argument如果没有可以进行转换
原文:
std::invalid_argument if no conversion could be performed
std::out_of_range如果转换后的值会掉出来的结果类型的范围.
原文:
std::out_of_range if the converted value would fall out of the range of the result type.
[编辑] 另请参阅
(C++11) (C++11) (C++11) |
将字符串转换为一个有符号整数 原文: converts a string to an signed integer (函数) |
(C++11) (C++11) |
将字符串转换为无符号整数 原文: converts a string to an unsigned integer (函数) |