#include <iostream>
using namespace std;
int main()
{
int a = 1;
char c = a + '0';
cout << c;
return 0;
}
字符串转数字
#include <iostream>
using namespace std;
int main()
{
string s = "123456";
int a = 0;
//digit辅助各位数字相加,etc
int digit[7] = { 1,10,100,1000,10000,100000,1000000 };
for (int i = 0; i < s.length(); i++)
{ //从低位往高位累加
a += (s[s.length()-1-i] - '0') * digit[i];
}
cout << a;
return 0;
}
2.C++的stringstream
数字转字符串
#include <string>
#include <sstream>
int main()
{
double d = 123.123;
string reslut;
stringstream ss;
ss << d;
ss >> reslut;
return 0;
}
字符串转数字
#include <string>
#include <sstream>
int main()
{
string s = "123.123";
double reslut;
stringstream ss;
ss << s;
ss >> reslut;
return 0;
}
3.使用sprintf()函数
数字转字符串
#include <iostream>
using namespace std;
int main()
{
char str1[10];
int a = 1234567;
//sprintf函数把a读入到str中
sprintf(str1, "%d", a);
char str2[1000];
double b = 123.456;
sprintf(str2, "%f", b);
char str3[10];
int c = 123;
//10进制转换成16进制
sprintf(str3, "%x", c);
cout << str1[0] << endl;
cout << str2[0] << endl;
cout << str3[0] << endl;
return 0;
}
字符串转数字
#include <iostream>
using namespace std;
int main()
{
char str1[10]="1234567";
int a=0;
//sprintf函数把a读入到str中
sscanf_s(str1, "%d", &a);
char str2[1000]="123.456";
double b=0 ;
sscanf_s(str2, "%lf", &b);
char str3[10]="A";
int c=0 ;
//10进制转换成16进制
sscanf_s(str3, "%x", &c);
cout << a << endl;
cout << b << endl;
cout << c<< endl;
return 0;
}
4.特殊函数atoi()等
atoi(),atol(),atof(),itoa()等函数与平台相关
举个应用的栗子
1、可以用atoi函数。
例:char a='7';
int num=atoi(a);
2、如果是很多数字,字符串形式的话按下列方式转成Int型。
例:String s="1234";
int i = Integer.parseInt(s);
C++ 数字和字符串相互转换方法1.ASCII差值法2.C++的stringstream3.使用sprintf()函数4.特殊函数atoi()等1.ASCII差值法‘0’ Ascii码值为 48数字转char#include <iostream>using namespace std;int main(){ int a = 1; char c = a + '0'; cout << c; return 0;}字符串转数字