字符串与数字,字符数组与字符串的相互转换
在我们日常程序编写中会常遇到字符串,字符数组等与数字、字符串之间的相互转换。以下是几种常用的代码:
将字符串转换为数字(stringstream)
将字符数组转换为字符串
将数字转换为字符串
将字符串转换为数字(aito()函数)
- 将字符串转换为数字
例如:将字符9转换成数字9`
部分代码如下:
{
string s =“9”;
stringstream k(s);
int x= 0;
k >> x;
cout << x << endl;
cout << x+1 <<endl; //转换成数字后可进行数字运算
return 0;
}`
转换成数字后就可直接进行数学运算了(如图第15行)
2.将字符数组转换成字符串
例:将一个字符数组str[6]={‘h’,‘e’,‘l’,‘l’,‘o’}转换成字符串
部分代码如下:
{
char str[6] ={'h','e','l','l','o'};
string k(str);
cout<<k<<endl;
return 0;
}
以上为声明后赋值转化
或者可采用直接赋值转化,部分代码如下:{
char str[6] ={'h','e','l','l','o'};
string k;
k=str;
cout<<k<<endl;
return 0;
}
3.将数字转换为字符串
例:将一个数字10转换为字符10
将数字100000000转换字符100000000
部分代码如下:`{
int n= 10;
string int_to_string (int n);
cout << n << endl;
long a =100000000;
string long_to_string (long a);
cout<<a<<endl;
return 0;`
不限于int转换string或long转换string,以下类型都可以此转换。
拓:string to_string (int val);
string to_string (long val);
string to_string (long long val);
string to_string (unsigned val);
string to_string (unsigned long val);
string to_string (unsigned long long val);
string to_string (float val);
string to_string (double val);
string to_string (long double val)
4.将字符串转换为数字
例:将一个字符串“1314”转换为数字
下面展示一些
int main()
{
string k ="1314";
int n= atoi (k.c_str());
cout<<n<<endl;
return 0;
}
atoi()函数的功能:将字符串转换成整型数;atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负号才开始做转换,而再遇到非数字或字符串时(’\0’)才结束转化,并将结果返回(返回转换后的整型数)。
aito()函数在#include <stdlib.h>