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()代码 (转)相关推荐

  1. 用c语言编写的atof函数,自己实现的atof()和atoi()代码

    # re: 自己实现的atof()和atoi()代码  回复  更多评论 2014-09-05 22:27 by memristor 定义函数 double atof(const char *nptr ...

  2. C++中atof ,atoi函数用法

    atof函数 原型:double atof( const char *string ); ASCII to float 作用:将字符串转为double类型 对于以上函数,若字符串无法转化为合法的数值类 ...

  3. c语言atof字母,C语言atof,atoi ,strtok等函数用法

    atoi是把字符串转换为int型数据 atof是转换为float型 strtok是分隔字符串的 第一个例子用了sscanf, 没有用strtok#include #include #include # ...

  4. atof函数实现代码,原理

    /* atof函数实现字符串向double数据的转换, */ #include <stdio.h> double myatof(const char *str); int main() { ...

  5. atof()、atoi()、atol()函数【详解】

    本期介绍

  6. atoi,atol,strtod,atof

    atof(将字符串转换成浮点型数) 相关函数 atoi,atol,strtod, 表头文件 #include 定义函数 double atof(const char *nptr); 函数说明 atof ...

  7. 函数atof,atoi,atol,strtod,strtol,strtoul 描述

    函数atof,atoi,atol,strtod,strtol,strtoul atof(将字串转换成浮点型数)  相关函数 atoi,atol,strtod,strtol,strtoul 表头文件 # ...

  8. linux c 数字字符串互转 相关函数 atoi、atof、atol、atrtod、strtol、strtoul

    一.atoi函数(将字符串转换成整型数) 定义函数 int atoi(const  char *  nptr); 函数说明 atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负 ...

  9. 函数atof,atoi,atol,strtod,strtol,strtoul

    在做项目过程中经常需要把字符串转换成整形数,这时候就需要用到下面几种函数:函数atof,atoi,atol,strtod,strtol,strtoul 函数说明是:该函数会扫描参数中的字符串,跳过前面 ...

最新文章

  1. Taints和Tolerations
  2. DFS+剪枝 hdu 5113 Black And White
  3. perl 取出目录中的所有文件并存入文件中
  4. c语言已知斜率 求倾角,倾斜解的问题
  5. 定时覆盖库_高考直通车公众号 联考题库大全
  6. Jmeter5.1.1第一个http请求的压力测试
  7. 海归硕士程序员吐槽:我回国竟然找不到工作,这到底是什么操作?
  8. MyEclipse在删除文件后servers报错问题解决
  9. 用户奖励体系有哪些反作弊的机制?
  10. Winform界面中实现菜单列表的动态个性化配置管理
  11. jquery 图片无缝切换
  12. Keil安装使用基础篇
  13. 泛微怎么自动保存服务器,【泛微OA】系统超时登出解决方案
  14. 0基础自学鸿蒙-Day_002 HelloWorld
  15. 让校园生活更轻松的十大Android应用程序
  16. php中strtotime与mktime的Y2K38漏洞(时间最长为2038年)
  17. 出现leaked ServiceConnection 的解决办法
  18. mbk文件导入到oracle,将Oracle DMP文件导入到oracle的全新安装中
  19. 28岁程序员:我要转行能行么?网友:除了写代码你还能干啥?
  20. 指数型基金购买技巧汇总(程序猿买基金必备——未完待续)

热门文章

  1. 第三方快递接口API调用
  2. java array to string_数组到字符串转换(Array to string conversion)
  3. JS判断 浏览器 是否禁用Cookie
  4. os.system如何传参
  5. 学习《apache源代码全景分析》之多任务并发处理摘录
  6. 图像处理之添加文字水印
  7. Maven 搭建多模块企业级项目
  8. Spark读写Hbase的二种方式对比
  9. Oracle jdk 历史版本官方下载地址及下载方法
  10. 一致性Hash(Consistent Hashing)原理剖析