C++ 整数转字符串
有三种方法可以将整数转换为字符串:
- 通过使用stringstream类
- 通过使用to_string()方法
- 通过使用boost.lexical cast
通过使用stringstream类将整数转化为字符串
stringstream类是在头文件中定义的流类。它是一个用于在基于字符串的流上执行输入输出操作的流类。
下面是用于插入或提取数据的运算符:
- 运算符 >>: 从流中提取数据。
- 运算符 <<:将数据插入流中。
通过示例来理解运算符的概念。
- 在下面的语句中, <<插入运算符将100插入流中。stream1 << 100;
- 在下面的语句中,>>提取运算符从流中提取数据,并将其存储在变量’i’中。 stream1 >> i;
通过示例来理解。
#include <iostream>
#include<sstream>
using namespace std;
int main() {
int k;
cout<<"Enter an integer value";
cin>>k;
stringstream ss;
ss<<k;
string s;
ss>>s;
cout<<"\n"<<"An integer value is : "<<k<<"\n";
cout<<"String representation of an integer value is : "<<s;
}
输出
在上面的示例中,我们创建了变量 k ,并希望将k的值转换为字符串值。我们使用了stringstream类,该类用于将k的整数值转换为字符串值。通过使用stringstream类,我们还可以实现反过来的转换,即将字符串转换为整数值也是可能的。
让我们通过一个示例来理解将字符串转换为数字的概念。
#include <iostream>
#include<sstream>
using namespace std;
int main()
{
string number ="100";
stringstream ss;
ss<<number;
int i;
ss>>i;
cout<<"The value of the string is : "<<number<<"\n";
cout<<"Integer value of the string is : "<<i;
}
输出
通过使用to_string()方法将整数转换为字符串
to_string()方法接受一个整数,并将整数值或其他数据类型值转换为字符串。
让我们通过一个示例来理解:
#include <iostream>
#include<string>
using namespace std;
int main()
{
int i=11;
float f=12.3;
string str= to_string(i);
string str1= to_string(f);
cout<<"string value of integer i is :"<<str<<"\n";
cout<<"string value of f is : "<< str1;
}
输出
通过使用boost.lexical cast将整数转换为字符串
boost.lexical cast提供了一个转换操作符,即boost.lexical_cast,它可以将字符串值转换为整数值或其他数据类型值,反之亦然。
让我们通过一个示例来理解将整数转换为字符串的过程。
#include <iostream>
#include <boost/lexical_cast.hpp>
using namespace std;
int main()
{
int i=11;
string str = boost::lexical_cast<string>(i);
cout<<"string value of integer i is :"<<str<<"\n";
}
输出
在上面的示例中,我们通过使用lexical_cast()函数将’i’变量的值转换为字符串值。
让我们通过一个示例来理解将字符串转换为整数的过程。
#include <iostream>
#include <boost/lexical_cast.hpp>
using namespace std;
int main()
{
string s="1234";
int k = boost::lexical_cast<int>(s);
cout<<"Integer value of string s is : "<<k<<"\n";
}
输出
在上面的示例中,我们使用lexical_cast()函数将字符串值转换为整数值。