c语言atof字母,atof - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

在头文件中定义double atof(const char * str);

解释str指向的字节串中的浮点值。

函数丢弃任何空格字符(由std :: isspace()确定),直到找到第一个非空白字符。 然后,它需要尽可能多的字符来形成有效的浮点表示并将它们转换为浮点值。 有效的浮点值可以是以下值之一:

十进制浮点表达式。它由以下部分组成:(可选)加号或减号

非空十进制数字序列可选地包含小数点字符(由当前Clocale来决定)(定义有效数字)

(可选)e或者E跟随可选的负号或加号和非空序列的十进制数字(定义指数)

二进制浮点表达式。它由以下部分组成:(可选)加号或减号

0x 或 0X

非空的十六进制数字序列可选地包含小数点字符(由当前C确定locale)(定义有效数字)

(可选)p或者P跟随可选的负号或加号和非空序列的十进制数字(定义指数)

无限表达。它由以下部分组成:(可选)加号或减号

INF或者INFINITY无视事件

非数字表达式。它由以下部分组成:(可选)加号或减号

NAN或NAN(char_sequence)忽略该NAN部分的情况。char_sequence只能包含字母数字字符。结果是安静的NaN浮点值。

任何其他可能被当前安装的C locale 接受的表达式

参数

str-指向要解释的以空字符结尾的字节字符串

返回值

若成功,则返回double值对应str的内容。 如果转换后的值超出了返回类型的范围,则返回值未定义。 如果不能执行转换,则返回0.0。

#include #include 

int main(void){    printf("%g\n", atof("  -0.0000000123junk"));    printf("%g\n", atof("0.012"));    printf("%g\n", atof("15e16"));    printf("%g\n", atof("-0x1afp-2"));    printf("%g\n", atof("inF"));    printf("%g\n", atof("Nan"));    printf("%g\n", atof("1.0e+309"));   // UB: out of range of double    printf("%g\n", atof("0.0"));    printf("%g\n", atof("junk"));       // no conversion can be performed}

可能的输出:

-1.23e-080.0121.5e+17-107.75inf

nan

inf00

参考

C11标准(ISO / IEC 9899:2011):7.22.1.1 atof函数(p:341)

C99标准(ISO / IEC 9899:1999):7.20.1.1 atof函数(p:307)

C89 / C90标准(ISO / IEC 9899:1990):4.10.1.1 atof函数

扩展内容

strtofstrtodstrtold(C99)(C99)将字节字符串转换为浮点值(函数)

| 用于atof的C ++文档 |

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值