在C语言中,怎么把一个字符串(都是由数字组成)转换成一个浮点数?

 我来答
匿名用户
2010-11-03
展开全部
用atoi函数将字符串转换成整形,然后再用整形转换为浮点型。
atoi C语言库函数名: atoi 功 能: 把字符串转换成整型数. 名字来源:array to integer 的缩写. 原型: int atoi(const char *nptr); 函数说明: 参数nptr字符串,如果第一个非空格字符不存在或者不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字或结束符 \0 时停止转换,返回整型数。 头文件: #include <stdlib.h> 程序例: 1) #include <stdlib.h> #include <stdio.h> int main(void) { int n; char *str = "12345.67"; n = atoi(str); printf("string = %s integer = %d\n", str, n); return 0; } 执行结果 string = 12345.67 integer = 12345
百度网友c1a8a7732f
2010-11-17 · TA获得超过8681个赞
知道大有可为答主
回答量:1366
采纳率:0%
帮助的人:2797万
展开全部
ansi-c最多只允许509个字符
tc不知道对这一标准实现如何
vc的单个字符串可以长达2048个byte
不过如果用预处理链接的方式,最多可以达到65535个字符的长度
比如:
单个字符串char* a = 123; // 最长2048-vc,tc估计是509
预处理链接char* b = 123 456 789; // 最长65535-vc,tc估计是509
所以实际上这个内容还是和编译器比较相关,不同编译器实现不同。。。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
黄俊权0313
2012-03-11
知道答主
回答量:1
采纳率:0%
帮助的人:1646
展开全部
给你个例子:你看了之后就会明白的
程序代码:
char szString[] = "-2876.99812376443";
2. double db1;
3. db1 = atof(szString);
4. printf("atof result:\n");
5. printf("%f %.12f %.2f %e %E\n", db1, db1, db1, db1, db1);
6. printf("%.1e %.1E %.18e %.18E\n", db1, db1, db1, db1);
运行结果:
atof result:
-2876.998124 -2876.998123764430 -2877.00 -2.876998e+003 -2.876998E+003
-2.9e+003 -2.9E+003 -2.876998123764430100e+003 -2.876998123764430100E+003
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2010-11-03
展开全部
上面的回答没有考虑到小数点,正确的思路应该是先找出小数点的位置,分为两段来处理。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
305508676
2010-11-03 · TA获得超过648个赞
知道小有建树答主
回答量:627
采纳率:50%
帮助的人:599万
展开全部
建议使用 函数 float atof(char *)
float _ttof(TCHAR*)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式