整数转字符串,字符串转整数
题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串"345",则输出整数345。
题目比较简单,但是涉及到许多问题,例如非法输入,有正负号,是否为空字符串,且不是输入大数类型,可以用long long,8字节整型等等。主要:int a=a*10+(str[i]-'0')
也可以直接使用c的库函数,atoi函数,如果不能转换则返回0.使用例子如下
string a="-1232 pighehe";
int num=atoi(a);
1 #include <iostream> 2 #include <string> 3 using namespace std; 4 enum flag{ 5 valid=0, 6 invalid=1 7 }; 8 int judge=valid; 9 10 11 long long paraInt(string str) 12 { 13 judge=valid; 14 bool Fuflag=false; 15 long long num=0; 16 int i=0; 17 if(str.size()==0) 18 { 19 judge=invalid; 20 return invalid; 21 } 22 if (str[0]=='-') 23 { 24 i=1; 25 Fuflag=true; 26 if(str.size()==1) 27 { 28 judge=invalid; 29 return invalid; 30 } 31 } 32 33 for (i;i<str.size();++i) 34 { 35 int temp=str[i]-'0'; 36 if(temp>=0&&temp<=9) 37 num=num*10+temp; 38 else{ 39 judge=invalid; 40 return invalid; 41 } 42 } 43 if(Fuflag) 44 a=-a; 45 return num; 46 } 47 int main() 48 { 49 string str; 50 while(cin>>str) 51 { 52 long long num=paraInt(str); 53 if(!judge) 54 cout<<num<<endl; 55 else 56 { 57 cout<<"invalid input"<<endl; 58 } 59 str.clear(); 60 } 61 return 0; 62 }
题目:输入一个整数,把该整数转换成字符串并输出。例如输入整数345,则输出整数"345"。
类似的也有函数itoa,使用例子如下:
int num=12345;
char str[10];
itoa(num,str,10); //将num转换为字符串保存到str中
不使用itoa函数:将整数的每位转换为字符,然后再逆序保存。例如:
//整形转成字符串函数实现 //题目不难,重点考察面试者对问题考虑的全面程度 #include <iostream> using namespace std; void itoa_mf(int num,char str[]) { int sign = num; int i = 0; int j = 0; char temp[100]; //如果是负数就去掉符号,将-1234转成1234 if(sign < 0) { num = -num; } //转成字符串,1234转成"4321" do { temp[i] = num % 10 + '0'; num /= 10; i++; }while(num > 0); //如果是负数的话,加个符号在末尾,如:"4321-" if(sign < 0) { temp[i++] = '-'; } temp[i] = '\0'; i--; //将temp数组中逆序输入到str数组中 //将"4321-" ====> "-1234" while(i >= 0) { str[j] = temp[i]; j++; i--; } //字符串结束标识 str[j] = '\0'; } //测试用例 void main() { int a = 0; char s[100]; itoa_mf(a,s); cout << s << endl; }
转载于:https://www.cnblogs.com/fightformylife/p/4016218.html
整数转字符串,字符串转整数相关推荐
- oracle 转化为整数,字符串转换成整数——从源码学习
字符串转换成整数:输入一个表示整数的字符串,把该字符串转换成整数并输出,例如输入字符串"345",则输出整数345. 在笔试面试中,atoi 即「字符串转换成整数」是一个经典问题了 ...
- 剑指offer:把字符串转换成整数
题目描述 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一 ...
- 字符串分隔 -连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组; •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。...
•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组: •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理. 输入描述: 连续输入字符串(输入2次,每个字符串长度小于100) 输 ...
- 程序员面试题100题第17题——字符串转化为整数
题目:把输入的字符串转化为整数,如:"-456" 输出456."+456"输出456,"456"输出"456",如果是非 ...
- 【LeetCode 剑指offer刷题】字符串题6:67 把字符串转成整数
[LeetCode & 剑指offer 刷题笔记]目录(持续更新中...) 67 把字符串转成整数 题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符 ...
- 把字符串里的整数倒叙一个一个打印出来
把字符串里的整数倒叙一个一个打印出来 int count = 0; void myRevert(int n, int a[]) {if (n < 10){a[count++] = n;}else ...
- 将十六进制的字符串转换成整数
#include "stdafx.h" #include<stdio.h> #include<string.h>/*将大写字母转换成小写字母*/ int t ...
- php生成唯一的加密串,hashids.php-master整数生成唯一字符串的加密库
hashids.php-master整数生成唯一字符串的加密库 namespace Hashids; class Hashids implements HashidsInterface { const ...
- 整数转化成字符串; 字符串转换为整数
整数转化成字符串: 字符串转换为整数 /*整数转化成字符串*/ char *IntToStr(int num, char str[]) {int i = 0, j = 0;char temp[100] ...
- python 字符串转换成整数
| String to Int 写一个函数 StrToInt,实现把字符串转换成整数这个功能.不能使用 atoi 或者其他类似的库函数. 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个 ...
最新文章
- IBM一分为二,将剥离IT基础设施部门,未来专注云计算和AI
- 5、mybatis主配置文件之environments
- docker create_Docker动手教程2.2:容器基本操作2
- 多少秒算长镜头_自从搞烘焙后,遇到烘焙模具换算,秒变数学渣...
- 中国电子计算机大学竞赛安徽分赛,我院学子喜获第十二届全国大学生数学竞赛安徽赛区15项一等奖...
- 分词相关技术(转载)
- 我的考研~~~3-4月份总结
- 图解 Paxos 算法
- Scala语言的特点
- Centos7开地狱已满服之插件安装
- 读《程序员修炼之道-从小工到专家》有感
- iTunes Connect居然支持中文了!
- Linux 性能调试(1): perf 使用技巧 (翻译)
- 大学计算机信息知识题库,大学生计算机基础知识选择题库
- 黑苹果cpu支持列表_单卡gpu直通,黑苹果,amd_cpu教程
- 升级Unity2017.4到2018.3
- 谷歌浏览器如何打开标签时不覆盖原标签
- ACDC:开箱即用的多租户数据集成平台
- 软件体系结构4+1模型
- Python入门程序【九】