• 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
  • 相关阅读:
    Android 平板模拟器内存修改
    UI设计另类,创意的网站和App 集合(持续更新)
    Android平台根据分辨率计算屏幕尺寸,基于物理尺寸来验证手机和平板应用合并的可行性
    shape和selector的结合使用
    RGB浅谈
    Android开发大牛们的博客地址(持续更新)
    解决ViewPager添加点击监听器无触发的问题
    VC 输出闪烁的字母
    计算机体系结构精要
    Xmanager远程连接Ubuntu,窗口无法输入字母'd'
  • 原文地址:https://www.cnblogs.com/lizhenghao126/p/11053624.html
Copyright © 2020-2023  润新知