实现将一个字符串转化成对应的整形数字
输入一个字符串比如“+1234”,将其转换成对应的数字1234输出,若是“-1234”,则输出-1234:
#include <stdio.h>
enum Charec{TRUE,FALSE};
int check = FALSE;
int my_atoi(const char *str)
{int num = 0;if((str != NULL)&&(*str != '\0')){int minus = 0;if(*str == '+')str++;else if(*str == '-'){str++;minus = 1;}while(*str != '\0'){if((*str >= '0')&&(*str <= '9')){int flag = minus?-1:1;num = (num*10)+flag*(*str-'0');if((!minus&&(num>0x7FFFFFFF))||(minus&&((signed int)num<0x80000000))){num = 0;break;}str++;}else{num = 0;break;}}if(*str == '\0'){check = TRUE;}}return num;
}
int main()
{char str[50];int ret = 0;scanf("%s",str);ret = my_atoi(str);printf("%d\n",ret);return 0;
}
为将输入字符串“0”输出结果0和输入空字符串输出结果也同样为0这两种情况区分开,特意设置了一个全局枚举常量,这样可以检查枚举常量的值来区分,而且须考虑输入的字符串转换成对应的数字超出int的范围的情况。
转载于:https://blog.51cto.com/2627lounuo/1707218
实现将一个字符串转化成对应的整形数字相关推荐
- python字符串转化成列表_Python字符串如何转化为列表
在讲解Python字符串转化为列表的方法之前,我们先来对python字符串基础知识进行简单回顾,方便后续的灵活运用. 字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来 ...
- php 将一个字符串转换成数组,PHP将一个字符串转换成数组
PHP将一个字符串转换成数组,支持中文/** * 将一个字符串转换成数组,支持中文 * @param string $string 待转换成数组的字符串 * @return string 转换后的数组 ...
- base64字符串转化成图片
/*** base64字符串转化成图片** @param base64* @return*/ public static File base64ToFile(String base64) throws ...
- js 字符串转化成数字
js 字符串转化成数字 的 三种方法主要有 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换 ...
- new Date将字符串转化成日期格式 兼容IE,ie8如何通过new Date将字符串转化成日期格式,js中如何进行字符串替换, replace() 方法详解
new Date将字符串转化成日期格式 兼容IE,ie8如何通过new Date将字符串转化成日期格式,js中如何进行字符串替换, replace() 方法详解 //获得年月日时分秒 //传入日期// ...
- java字符串转公式_java把字符串转化成公式计算的示例
java把字符串转化成公式计算的示例 如下所示: static ScriptEngine jse = new ScriptEngineManager().getEngineByName("J ...
- js将字符串转化成时间戳
1.将字符串转化成时间戳 //2019-06-11 16:18:15 function getDateFromString(str){var reg = /^(\d+)-(\d+)-(\d+) (\d ...
- java 整数转为二进制_java将一个整数转化成二进制代码示例
将一个整数转化成二进制的方法: 1 方法1:使用BigInteger类: @Test public void test1(){ BigInteger b=new BigInteger("10 ...
- 将阿拉伯数字转化成大写的人民币数字
将阿拉伯数字转化成大写的人民币数字 public String getNumberToRMB(String m) ... { String num = "零壹贰叁肆伍陆柒捌玖&q ...
最新文章
- python get请求 由于目标机器_使用python和selenium进行Web抓取:由于目标机器主动拒绝i...
- SELECT中常用的子查询操作
- 【设计模式】备忘录模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
- keepalived实现nginx高可用主备集群配置过程
- [elk]logstash grok原理
- WebAPi返回类型到底应该是什么才合适,这是个问题?
- react中的axios配置文件
- Codeforces 558(C、D、E)总结
- python和matlab的区别_我为什么选择Python,不是Matlab和R语言呢?
- android qq输入法,Android版QQ输入法:滑动输入成最大亮点
- 基于android的手机位置系统,如何打造定位更精准的手机?基于Android系统的SDK方案了解一下~...
- openstack-nova源码分析(十一)rebuild重建
- GetPixel算法
- php账号管理工具,微信公共账号第三方管理工具开发(一)
- Keil5安装包括C51版本和STM32的mdk514版本
- vue PC端微信扫码登录
- C#空字符串、空字符、null、ASCII码为0的字符
- 基于Python生成OPENSEES结构动画
- c语言bim的题目,【BIM建模应用技术考试练习题一】- 环球网校
- #ESPFY银行卡复制器升级版#201/220芯片磁条复合卡写卡技术解析#【威 药企要酒寺起武久巴尔旧】
热门文章
- form 多个submit php,一个复杂的PHP表单处理方案?
- 随机过程:高斯函数导数、梯度
- 基于matlab/simulink的双闭环PMSM控制
- linux保存输出结果到txt
- 微软 python_微软推出 Pylance,改善 VS Code 中的 Python 体验
- php swoole实现定时任务,Swoole实现任务定时自动化调度详解,来学习下
- 面试题整理11 数字在排序数组中出现的次数
- 二、安装Spark集群
- 检测生成.xml文件的效果:以人脸xml为例
- 第三天2017/03/30(下午:二级指针的(输出)内存模型)