C++ 数字转换成字符串(i2s)
C++ 数字转换成字符串(i2s)
-
转换方法:
- 可以直接用sstream引入stringstream字符串数据流,来实现int to string(i2s),简单便捷。
- 代码演示创造了两个函数,一个i2s,一个s2i。
-
用法举例:
想要检测输入的数字中有没有'4'这个数字,用多个循环嵌套速度太慢,可以直接转换成字符串,再调用find函数检查即可。代码参照函数i2s的使用。
find函数说明:
string库中的函数,string.find('a') 如果字符串中有a,则返回a的位置下标,否则返回string.npos。
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
void i2s(int num, string &str){
stringstream ss;
ss << num;
ss >> str; //str是引用,直接改变原str
}
void s2i(int &num, string str){
stringstream ss;
ss << str;
ss >> num; //num是引用,直接改变原num,即num2
}
int main(){
//i2s,检查数字中有没有‘4’
string str;
int num = 86231;
i2s(num, str);
if(str.find('4') == str.npos) // 等价于if(str.find('4') == string::npos)
cout << "false";
cout << endl;
//s2i
string str2 = "123";
int num2;
s2i(num2, str2);
cout << num2 << endl;
//s2i 非数字
string str3 = "what";
int num3;
s2i(num3, str3);
cout << num3 << endl;
return 0;
}
浙公网安备 33010602011771号