std::strtof, std::strtod, std::strtold

来自cppreference.com
< cpp‎ | string‎ | byte

定义于头文件 <cstdlib>
float       strtof( const char* str, char** str_end );
(C++11 起)
double      strtod( const char* str, char** str_end );
long double strtold( const char* str, char** str_end );
(C++11 起)
。解释浮点值一个字节的字符串所指向的str.
原文:
Interprets a floating point value in a byte string pointed to by str.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

函数会舍弃任何空白符(由std::isspace()确定),直至找到首个非空白符。然后它会取用尽可能多的字符,以构成合法的浮点数表示,并将它们转换成浮点值。合法的浮点值可以为下列之一:

  • 十进制浮点数表达式。它由下列部分组成:
  • (可选) 正或负号
  • 非空的十进制数字序列,可选地包含一个小数点字符(由当前的C locale确定)(定义有效数字)
  • (可选) eE,并跟随可选的正或负号,以及非空十进制数字序列(定义指数)
  • 二进制浮点数表达式。它由下列部分组成:
  • (可选) 正或负号
  • 0x0X
  • 非空的十六进制数字序列,选地包含一个小数点字符(由当前的C locale确定)(定义有效数字)
  • (可选) pP,并跟随可选的正或负号,以及非空十进制数字序列(定义指数)
  • 无穷大表达式。它由下列部分组成:
  • (可选) 正或负号
  • INFINFINITY,忽略大小写
  • 非数(NaN)表达式。它由下列部分组成:
  • (可选) 正或负号
  • NANNAN(char_sequence),忽略NAN部分的大小写。char_sequence只能由字母和数字字符构成。结果是一个静的NaN浮点值。
  • 任何其他可由当前C locale接收的表达式
。的功能设置的指针所指向的str_end指向过去的字符的最后一个字符解释。 str_endNULL,被忽视。
原文:
The functions sets the pointer pointed to by str_end to point to the character past the last character interpreted. If str_end is NULL, it is ignored.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 。参数。

str -
。 null结尾的字节串的指针进行解释。
原文:
pointer to the null-terminated byte string to be interpreted
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
str_end -
。字符指针的指针.
原文:
pointer to a pointer to character.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

===。 返回值。===

。浮点值对应的成功的内容str。如果转换的值落在相应的返回类型的范围,范围发生错误,HUGE_VALHUGE_VALFHUGE_VALL返回。如果没有可以进行转换,0返回.
原文:
Floating point value corresponding to the contents of str on success. If the converted value falls out of range of corresponding return type, range error occurs and HUGE_VAL, HUGE_VALF or HUGE_VALL is returned. If no conversion can be performed, 0 is returned.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 。为例。

[编辑] 。另请参阅。

将单字节字符串转换为浮点值
原文:
converts a byte string to a floating point value
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

(函数) [编辑]
strtofstrtodstrtoldC 文档