前言
数值型字符串与对应的数之间的相互转换,在我们题目中的经常使用,例如:“12345” 转换为对应的整数值 12345,567 转换为对应的字符串 “567”。今天先来讨论,整数型字符串与其对应整数值之间的转换函数:itoa,atoi。浮点数下次讨论。从函数名称你也能猜出 a:ASCII码,i:int
单个数与对应字符之间的转换
不论是单个字符,还是字符串,与对应数字之间的转换本质上都是ASCII码的运算。对于单个数与对应字符之间的转换,我们只需要+‘0’ 或者 -‘0’ 即可。例如: 6=='6'-'0' ; '6'==6+'0'
#include <iostream>
using namespace std;
int main()
{if(6=='6'-'0'){cout<<"yes"<<endl;} if('6'==6+'0') {cout<<"yes"<<endl;}
}
输出:
yes
yes
atoi()函数的使用方法
头文件:#include <stdlib.h>
#include <iostream>
using namespace std;
int main()
{int x = atoi("123456");cout<<x;return 0;
}
输出:
123456 //整数值:123456
注意:atoi()函数只能转换为整数,如果你一定要写成浮点数的字符串,它会发生强制转换
#include <iostream>
using namespace std;
int main()
{cout<<atoi("123.456");return 0;
}
输出:
123 //整数值:123
itoa()函数的使用方法
头文件:#include <stdlib.h>
#include <iostream>
using namespace std;
int main()
{int sum = 100;char ch[20];itoa(sum,ch,8); //三个参数分别为:待转换的整数值,存储的字符串,转换为几进制数的字符串 cout<<ch<<endl;return 0;
}
输出:
144 //字符串"144"
如果你写成 itoa(sum,ch,10) 则输出“100”, itoa(sum,ch,16) 则输出“64”。
—<完>—