C语言stdlib头文件(stdlib.h)中strtof函数的用法及代码示例。
用法:
float strtof (const char* str, char** endptr);
将字符串转换为浮点数
float
。如果endptr不是一个空指针,该函数还会设置endptr指向数字后的第一个字符。该函数首先丢弃尽可能多的空格字符(如isspace),直到找到第一个非空白字符为止。然后,从该字符开始,采用与浮点字面量类似的语法(请参见下文),尽可能多地使用有效的字符,并将其解释为数值。指向最后一个有效字符之后的字符串其余部分的指针存储在由指向的对象中endptr。
有效的浮点数strtof使用
"C"
语言环境由可选的符号字符(+
或者-
),然后输入以下内容之一:- 数字序列,可以选择包含小数点字符(
.
),然后可选的是 index 部分(e
或者E
字符,后跟一个可选的符号和一个数字序列)。 - A
0x
或者0X
前缀,然后是十六进制数字序列(如isxdigit)(可选)包含一个将整数部分和小数部分分开的句点。可选地,其后为2的幂(ap
或者P
字符,后跟一个可选的符号和一个十六进制数字序列)。 INF
或者INFINITY
(忽略大小写)。NAN
或者NAN
顺序(忽略大小写),其中sequence是字符序列,其中每个字符都是字母数字字符(如isalnum)或下划线字符(_
)。
如果第一个非空格字符序列str不能形成如上所述的有效浮点数,或者不存在这样的序列,因为str为空或仅包含空格字符,不执行任何转换并且该函数返回
0.0F
。参数
- str
- C-string以浮点数表示开头。
- endptr
- 引用一个已经分配的类型的对象
char*
,其值由函数设置为中的下一个字符str数值之后。
此参数也可以是空指针,在这种情况下不使用它。
返回值
成功后,函数将转换后的浮点数作为类型的值返回float
。如果无法执行有效的转换,则该函数返回零(
0.0F
)。如果正确的值超出该类型可表示的值的范围,则为正或负HUGE_VALF返回,并且errno被设定为ERANGE。
如果正确的值将导致下溢,则该函数将返回一个其大小不大于最小归一化正数的值(某些库实现也可能设置为errno至ERANGE在这种情况下)。
示例
/* strtof example */
#include <stdio.h> /* printf, NULL */
#include <stdlib.h> /* strtof */
int main ()
{
char szOrbits[] = "686.97 365.24";
char* pEnd;
float f1, f2;
f1 = strtof (szOrbits, &pEnd);
f2 = strtof (pEnd, NULL);
printf ("One martian year takes %.2f Earth years.\n", f1/f2);
return 0;
}
输出:
One martian year takes 1.88 Earth years. |
相关用法
- C语言 atof用法及代码示例
- C语言 atoi用法及代码示例
- C语言 atol用法及代码示例
- C语言 atoll用法及代码示例
- C语言 strtod用法及代码示例
- C语言 strtol用法及代码示例
- C语言 strtold用法及代码示例
- C语言 strtoll用法及代码示例
- C语言 strtoul用法及代码示例
- C语言 strtoull用法及代码示例
- C语言 rand用法及代码示例
- C语言 srand用法及代码示例
- C语言 calloc用法及代码示例
- C语言 free用法及代码示例
- C语言 malloc用法及代码示例
- C语言 realloc用法及代码示例
- C语言 abort用法及代码示例
- C语言 atexit用法及代码示例
- C语言 at_quick_exit用法及代码示例
- C语言 exit用法及代码示例
- C语言 getenv用法及代码示例
- C语言 quick_exit用法及代码示例
- C语言 system用法及代码示例
- C语言 _Exit用法及代码示例
- C语言 bsearch用法及代码示例
- C语言 qsort用法及代码示例
- C语言 abs用法及代码示例
- C语言 div用法及代码示例
- C语言 labs用法及代码示例
- C语言 ldiv用法及代码示例
- C语言 llabs用法及代码示例
- C语言 lldiv用法及代码示例
- C语言 mblen用法及代码示例
- C语言 mbtowc用法及代码示例
- C语言 wctomb用法及代码示例
- C语言 wcstombs用法及代码示例
注:本文由纯净天空筛选整理自C标准库大神的英文原创作品 C strtof function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。