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;
}

find函数可参考:https://www.cnblogs.com/wkfvawl/p/9429128.html

posted @ 2022-03-27 21:58  IanSy  阅读(822)  评论(0)    收藏  举报