C语言怎么能把字符串转化成浮点型数据?

比如字符串"123.345",如何将这个字符串转化成为浮点型数据?有没有此类的系统函数?……... 比如字符串"123.345",如何将这个字符串转化成为浮点型数据?有没有此类的系统函数?…… 展开
 我来答
加百列windy
高粉答主

2018-11-28 · 每个回答都超有意思的
知道小有建树答主
回答量:2074
采纳率:100%
帮助的人:91.9万
展开全部

使用atof函数。

一、描述:

C 库函数 double atof(const char *str) 把参数 str 所指向的字符串转换为一个浮点数(类型为 double 型)。

二、atof() 函数的声明:

double atof(const char *str)。

三、参数:

str -- 要转换为浮点数的字符串。

四、返回值:

函数返回转换后的双精度浮点数,如果没有执行有效的转换,则返回零(0.0)。

实例演示代码:

编译执行效果如下:

扩展资料:

如果存在非法字符的,示例代码如下:

编译执行效果如下:

参考资料:

百度百科--atof

风若远去何人留
2015-09-19 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450106
专业C/C++软件开发

向TA提问 私信TA
展开全部

可以使用库函数atof。


1 函数名 atof

2 声明 

double atof(const char *nptr);

3 头文件

 #include <stdlib.h>

4 功能

将参数nptr中的字符串转为浮点型数据并返回。

5 需要注意的是,必须是合法的字符串,即以实数形式或者科学计数法形式存储的字符串才可以进行转换,否则转换会出错。 比如"sjdhk"这样的字符串是无法转换为浮点数的。而如果是"1.23sdf"这样的形式,只会处理到最后一个数字,结果为1.23。

5 示例代码

#include<stdlib.h>
int main()
{
char*a="-100.23";//实数形式存储的字符串 
char*b="200e-2";//科学计数法形式存储的字符串
double c;
c=atof(a)+atof(b);//转换后为 -100.23+200e-2=-100.23+2=-98.23
printf(“c=%.2lf\n”,c);//输出结果,保留2位小数。期望结果为c=-98.23
return 0;
}

输出结果

 c=-98.23

与期望结果相同。 

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-05-21
展开全部
有的有此类的系统函数,加上头文件#include <stdlib.h>,使用atof()函数就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式