自己实现的atof()和atoi()代码 (转)
http://www.cppblog.com/cxiaojia/archive/2012/02/24/166436.html
(添加了判空处理)
//函数名:myatof
//功能:把字符串转化成double浮点型
//名字来源:my array to floating point numbers
//函数说明:接收一个字符串判断第一个字符的符号,没有符号默认为正值,然后对剩余字符串进行转换,//遇到\0结束,最后返回一个double
double myatof(const char* sptr)
{
double temp=10;
bool ispnum=true;
double ans=0;
if(sptr==NULL)
return 0.0;
if(*sptr=='-')//判断是否是负数
{
ispnum=false;
sptr++;
}
else if(*sptr=='+')//判断是否为正数
{
sptr++;
}
while(*sptr!='\0')//寻找小数点之前的数
{
if(*sptr=='.'){ sptr++;break;}
ans=ans*10+(*sptr-'0');
sptr++;
}
while(*sptr!='\0')//寻找小数点之后的数
{
ans=ans+(*sptr-'0')/temp;
temp*=10;
sptr++;
}
if(ispnum) return ans;
else return ans*(-1);
}
//函数名:myatoi
//功能:把字符串转化成int整型
//名字来源:my array to integer
//函数说明:接收一个字符串判断第一个字符的符号,没有符号默认为正值,然后对剩余字符串进行转换,//遇到\0结束,最后返回一个int
int myatoi(const char* sptr)
{
bool ispnum=true;
int ans=0;
if(sptr==NULL)
return -1;
if(*sptr=='-')//判断是否是负数
{
ispnum=false;
sptr++;
}
else if(*sptr=='+')//判断是否为正数
{
sptr++;
}
while(*sptr!='\0')//类型转化
{
ans=ans*10+(*sptr-'0');
sptr++;
}
if(ispnum) return ans;
else return ans*(-1);
}
转载于:https://www.cnblogs.com/wb118115/archive/2012/11/08/2761730.html
自己实现的atof()和atoi()代码 (转)相关推荐
- 用c语言编写的atof函数,自己实现的atof()和atoi()代码
# re: 自己实现的atof()和atoi()代码 回复 更多评论 2014-09-05 22:27 by memristor 定义函数 double atof(const char *nptr ...
- C++中atof ,atoi函数用法
atof函数 原型:double atof( const char *string ); ASCII to float 作用:将字符串转为double类型 对于以上函数,若字符串无法转化为合法的数值类 ...
- c语言atof字母,C语言atof,atoi ,strtok等函数用法
atoi是把字符串转换为int型数据 atof是转换为float型 strtok是分隔字符串的 第一个例子用了sscanf, 没有用strtok#include #include #include # ...
- atof函数实现代码,原理
/* atof函数实现字符串向double数据的转换, */ #include <stdio.h> double myatof(const char *str); int main() { ...
- atof()、atoi()、atol()函数【详解】
本期介绍
- atoi,atol,strtod,atof
atof(将字符串转换成浮点型数) 相关函数 atoi,atol,strtod, 表头文件 #include 定义函数 double atof(const char *nptr); 函数说明 atof ...
- 函数atof,atoi,atol,strtod,strtol,strtoul 描述
函数atof,atoi,atol,strtod,strtol,strtoul atof(将字串转换成浮点型数) 相关函数 atoi,atol,strtod,strtol,strtoul 表头文件 # ...
- linux c 数字字符串互转 相关函数 atoi、atof、atol、atrtod、strtol、strtoul
一.atoi函数(将字符串转换成整型数) 定义函数 int atoi(const char * nptr); 函数说明 atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负 ...
- 函数atof,atoi,atol,strtod,strtol,strtoul
在做项目过程中经常需要把字符串转换成整形数,这时候就需要用到下面几种函数:函数atof,atoi,atol,strtod,strtol,strtoul 函数说明是:该函数会扫描参数中的字符串,跳过前面 ...
最新文章
- Taints和Tolerations
- DFS+剪枝 hdu 5113 Black And White
- perl 取出目录中的所有文件并存入文件中
- c语言已知斜率 求倾角,倾斜解的问题
- 定时覆盖库_高考直通车公众号 联考题库大全
- Jmeter5.1.1第一个http请求的压力测试
- 海归硕士程序员吐槽:我回国竟然找不到工作,这到底是什么操作?
- MyEclipse在删除文件后servers报错问题解决
- 用户奖励体系有哪些反作弊的机制?
- Winform界面中实现菜单列表的动态个性化配置管理
- jquery 图片无缝切换
- Keil安装使用基础篇
- 泛微怎么自动保存服务器,【泛微OA】系统超时登出解决方案
- 0基础自学鸿蒙-Day_002 HelloWorld
- 让校园生活更轻松的十大Android应用程序
- php中strtotime与mktime的Y2K38漏洞(时间最长为2038年)
- 出现leaked ServiceConnection 的解决办法
- mbk文件导入到oracle,将Oracle DMP文件导入到oracle的全新安装中
- 28岁程序员:我要转行能行么?网友:除了写代码你还能干啥?
- 指数型基金购买技巧汇总(程序猿买基金必备——未完待续)