zoukankan      html  css  js  c++  java
  • C++string与int的相互转换(使用C++11)

    一、int转string

    #include <iostream>
    #include <string>
     
    int main() 
    {
        double f = 23.43;
        double f2 = 1e-9;
        double f3 = 1e40;
        double f4 = 1e-40;
        double f5 = 123456789;
        std::string f_str = std::to_string(f);
        std::string f_str2 = std::to_string(f2); // 注意:返回 "0.000000"
        std::string f_str3 = std::to_string(f3); // 注意:不返回 "1e+40".
        std::string f_str4 = std::to_string(f4); // 注意:返回 "0.000000"
        std::string f_str5 = std::to_string(f5);
        std::cout << "std::cout: " << f << '
    '
                  << "to_string: " << f_str  << "
    
    "
                  << "std::cout: " << f2 << '
    '
                  << "to_string: " << f_str2 << "
    
    "
                  << "std::cout: " << f3 << '
    '
                  << "to_string: " << f_str3 << "
    
    "
                  << "std::cout: " << f4 << '
    '
                  << "to_string: " << f_str4 << "
    
    "
                  << "std::cout: " << f5 << '
    '
                  << "to_string: " << f_str5 << '
    ';
    }

    输出

    std::cout: 23.43
    to_string: 23.430000
     
    std::cout: 1e-09
    to_string: 0.000000
     
    std::cout: 1e+40
    to_string: 10000000000000000303786028427003666890752.000000
     
    std::cout: 1e-40
    to_string: 0.000000
     
    std::cout: 1.23457e+08
    to_string: 123456789.000000

    二、string转int

    #include <iostream>
    #include <string>
     
    int main()
    {
        std::string str1 = "45";
        std::string str2 = "3.14159";
        std::string str3 = "31337 with words";
        std::string str4 = "words and 2";
     
        int myint1 = std::stoi(str1);
        int myint2 = std::stoi(str2);
        int myint3 = std::stoi(str3);
        // 错误: 'std::invalid_argument'
        // int myint4 = std::stoi(str4);
     
        std::cout << "std::stoi("" << str1 << "") is " << myint1 << '
    ';
        std::cout << "std::stoi("" << str2 << "") is " << myint2 << '
    ';
        std::cout << "std::stoi("" << str3 << "") is " << myint3 << '
    ';
        //std::cout << "std::stoi("" << str4 << "") is " << myint4 << '
    ';
    
    }

    结果:

    std::stoi("45") is 45
    std::stoi("3.14159") is 3
    std::stoi("31337 with words") is 31337

    https://github.com/li-zheng-hao
  • 相关阅读:
    思科交换机命令
    Cisco2960 交换机密码破解方法
    洛谷 P2147 [SDOI2008]洞穴勘测
    BZOJ 4025: 二分图
    算法笔记--可撤销并查集 && 可持久化并查集
    P5043 【模板】树同构([BJOI2015]树的同构)
    算法笔记--BSGS && exBSGS 模板
    算法笔记--线性基求交模板
    AcWing 246. 区间最大公约数
    2018年长沙理工大学第十三届程序设计竞赛 I 连续区间的最大公约数
  • 原文地址:https://www.cnblogs.com/lizhenghao126/p/11053624.html
Copyright © 2011-2022 走看看