vc++如何将带小数点的字符串转成数字
展开全部
atof(将字符串转换成浮点型数)
相关函数 atoi,atol,strtod,strtol,strtoul
表头文件 #include <stdlib.h>
定义函数 double atof(const char *nptr);
函数说明 atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。
返回值 返回转换后的浮点型数。
附加说明 atof()与使用strtod(nptr,(char**)NULL)结果相同。
范例 /* 将字符串a 与字符串b转换成数字后相加*/
#include<stdlib.h>
main()
{
char *a=”-100.23”;
char *b=”200e-2”;
float c;
c=atof(a)+atof(b);
printf(“c=%.2f\n”,c);
}
执行 c=-98.23
相关函数 atoi,atol,strtod,strtol,strtoul
表头文件 #include <stdlib.h>
定义函数 double atof(const char *nptr);
函数说明 atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。
返回值 返回转换后的浮点型数。
附加说明 atof()与使用strtod(nptr,(char**)NULL)结果相同。
范例 /* 将字符串a 与字符串b转换成数字后相加*/
#include<stdlib.h>
main()
{
char *a=”-100.23”;
char *b=”200e-2”;
float c;
c=atof(a)+atof(b);
printf(“c=%.2f\n”,c);
}
执行 c=-98.23
展开全部
#include <iostream>
#include <cstdlib>//库函数所需要的头文件
#include <cmath> //库函数所需要的头文件
int main()
{
char number[20]={"1992.14"};//目标字符串
double Number=atof(number); //atof();转换的库函数
cout<<Number<<endl; //运行结果为:1992.14,转换完成
return 0;
}
不过这个库函数似乎对精度是有限度的,数据很大的话估计还是要自己写写了哈,希望对你有所帮助!
#include <cstdlib>//库函数所需要的头文件
#include <cmath> //库函数所需要的头文件
int main()
{
char number[20]={"1992.14"};//目标字符串
double Number=atof(number); //atof();转换的库函数
cout<<Number<<endl; //运行结果为:1992.14,转换完成
return 0;
}
不过这个库函数似乎对精度是有限度的,数据很大的话估计还是要自己写写了哈,希望对你有所帮助!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果是java的话,是可以直接使用Intger.parseInt(字符串),这个方法是会报异常的,有可能字符串不是数字的格式,需要捕获
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
void main()
{
char str[]="17.23245";
float num = 0.0;
sscanf(str, "%f", &num);
printf("num=%f\n", num);
}
void main()
{
char str[]="17.23245";
float num = 0.0;
sscanf(str, "%f", &num);
printf("num=%f\n", num);
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
atof
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询