博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字符串以诚数码
阅读量:6445 次
发布时间:2019-06-23

本文共 789 字,大约阅读时间需要 2 分钟。

字符串以诚数码(不要使用系统函数或方法)

最近我看到的面试题主题。要求将字符串转换成数字,由于“58”兑换 58。。于是思考了一会儿。写出了一个函数。用于做字符串转数字。

/** *  字符串转数字(不使用系统的函数) */long string2number(const char *str){    if(str == NULL) return -1;    long result = 0;    for(int i = 0; str[i]; i++)    {        if(str[i] >= '0' && str[i] <= '9')        {            /*             '2' - '0' = 2 => 目的是取出每一个字符相应的数字             1             1*10+2             12*10+3             */            result = result * 10 + (str[i] - '0');        }        else        {            break;        }    }    return result;}

測试程序例如以下:

// 函数头long string2number(const char *pstr);int main(int argc, const char * argv[]) {    @autoreleasepool {        long result = string2number("321");        NSLog(@"%ld",result);    }    return 0;}

打印结果例如以下图:

计算结果

版权声明:本文博主原创文章。博客,未经同意不得转载。

你可能感兴趣的文章
03-Java环境变量配置
查看>>
Python mysql操作
查看>>
建立Ftp站点
查看>>
NavigationController的使用
查看>>
android 内存泄漏
查看>>
HTML5:Canvas-绘制图形
查看>>
Sass--传多个参数
查看>>
多线程编程之Windows环境下创建新线程
查看>>
ASP.Net MVC的开发模式
查看>>
困惑的托管与非托管混合调试时遇到的不能设断点的问题
查看>>
groupbox 下的datagridview的列标题字体修改混乱
查看>>
HDU-3092 Least common multiple---数论+分组背包
查看>>
CentOS 7使用systemctl如何补全服务名称
查看>>
软件架构笔记 一
查看>>
Unity3D NGUI 给button按钮添加单间事件
查看>>
C# 使用各种API
查看>>
echo命令的简单用法和实例
查看>>
CentOS7.4 KVM虚拟化之环境准备(1)
查看>>
《程序员代码面试指南》第八章 数组和矩阵问题 子矩阵的最大累加和问题
查看>>
密码的校验.大小写字母,数字,特殊字符中的至少3种
查看>>