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
  • 相关阅读:
    小能客服
    bootstrap 字体图标
    在线绘图(PS)(海报)
    UI教程
    免费在线设计网站
    测量史上首个易语言工程测量模块
    在ado.net中实现oracle存储过程调用两种方式
    VS一些快捷键
    解决Win10家庭版没有‘本地用户和组’问题
    参照示例搭建一个Quertz + Topshelf的一个作业调度服务(基础)
  • 原文地址:https://www.cnblogs.com/lizhenghao126/p/11053624.html
Copyright © 2011-2022 走看看