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()确定),直至找到首个非空白符。然后它会取用尽可能多的字符,以构成合法的浮点数表示,并将它们转换成浮点值。合法的浮点值可以为下列之一:
- 十进制浮点数表达式。它由下列部分组成:
- (可选) 正或负号
- 非空的十进制数字序列,可选地包含一个小数点字符(由当前的C locale确定)(定义有效数字)
- (可选)
e
或E
,并跟随可选的正或负号,以及非空十进制数字序列(定义指数)
- 二进制浮点数表达式。它由下列部分组成:
- (可选) 正或负号
-
0x
或0X
- 非空的十六进制数字序列,选地包含一个小数点字符(由当前的C locale确定)(定义有效数字)
- (可选)
p
或P
,并跟随可选的正或负号,以及非空十进制数字序列(定义指数)
- 无穷大表达式。它由下列部分组成:
- (可选) 正或负号
-
INF
或INFINITY
,忽略大小写
- 非数(NaN)表达式。它由下列部分组成:
- (可选) 正或负号
-
NAN
或NAN(
char_sequence)
,忽略NAN
部分的大小写。char_sequence只能由字母和数字字符构成。结果是一个静的NaN浮点值。
- 任何其他可由当前C locale接收的表达式
的第一个未转化的字符的索引被存储在
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 (函数) |