c++:stoi()和to

    技术2022-07-11  92

    包含在头文件#include<string>

    1. stoi函数

    作用:

    将 n 进制的字符串转化为十进制

    用法

    stoi(字符串,起始位置,n进制(默认10进制)),将 n 进制的字符串转化为十进制

    举例:

    stoi(str, 0, 2); //将字符串 str 从 0 位置之后的数字的 2 进制数,转换为十进制

    注意:

    stoi()函数如果传入的字符串s中含有不是数字的字符,则只会识别到从开头到第一个非法字符之 前,如果第一个字符就是非法字符则会报错

    #include<iostream> #include<string> using namespace std; int main() { string str = "1200"; int a = stoi(str);//默认是10进制的,将 10 进制的字符串1200转化为十进制数值 int b = stoi(str, 0,8);//8进制的1200转换成10进制 cout <<"a(10进制的字符串1200转化为十进制数值):\n" <<a << endl; cout <<"b(8进制的1200转换成10进制):\n" <<b << endl; return 0; } 运行结果:

    2. to_string()函数

    包含在头文件#include<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);

    功能:

    将数值转化为字符串。返回对应的字符串。

    #include <iostream> #include <string> using namespace std; int main() { string pi = "pi is " + std::to_string(3.1415926); float pf = 42430.23; string float_str = to_string(pf) + " is a number"; cout << pi << '\n'; cout << float_str << '\n'; system("pause"); } 输出:

    Processed: 0.010, SQL: 9