C++中int与string的相互转换

C++中int与string的相互转换一 int 转 string1 c 11 标准增加了全局函数 std to string stringto string intval stringto string longval stringto string longlongval stringto string unsignedval stringto string unsigne

一、int转string

1.c++11标准增加了全局函数std::to_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);

Example:

// to_string example #include 
  
    // std::cout #include 
   
     // std::string, std::to_string int main () { std::string pi = "pi is " + std::to_string(3.); std::string perfect = std::to_string(1+2+4+7+14) + " is a perfect number"; std::cout << pi << '\n'; std::cout << perfect << '\n'; return 0; } 
    
  

Output:

pi is 3. 28 is a perfect number

2.采用sstream中定义的字符串流对象来实现

ostringstream os; //构造一个输出字符串流,流内容为空 int i = 12; os << i; //向输出字符串流中输出int整数i的内容 cout << os.str() << endl; //利用字符串流的str函数获取流中的内容 

二、string转int

// stoi example #include 
   
     // std::cout #include 
    
      // std::string, std::stoi int main () { std::string str_dec = "2001, A Space Odyssey"; std::string str_hex = "40c3"; std::string str_bin = "-"; std::string str_auto = "0x7f"; std::string::size_type sz; // alias of size_t int i_dec = std::stoi (str_dec,&sz); int i_hex = std::stoi (str_hex,nullptr,16); int i_bin = std::stoi (str_bin,nullptr,2); int i_auto = std::stoi (str_auto,nullptr,0); std::cout << str_dec << ": " << i_dec << " and [" << str_dec.substr(sz) << "]\n"; std::cout << str_hex << ": " << i_hex << '\n'; std::cout << str_bin << ": " << i_bin << '\n'; std::cout << str_auto << ": " << i_auto << '\n'; return 0; } 
     
   

Output:

2001, A Space Odyssey: 2001 and [, A Space Odyssey] 40c3: 16579 -: -1201 0x7f: 127

2.采用标准库中atoi函数,对于其他类型也都有相应的标准库函数,比如浮点型atof(),long型atol()等等

string s = "12"; int a = atoi(s.c_str());

3.采用sstream头文件中定义的字符串流对象来实现转换

istringstream is("12"); //构造输入字符串流,流的内容初始化为“12”的字符串 int i; is >> i; //从is流中读入一个int整数存入i中

参考资料:

http://blog.csdn.net/chavo0/article/details/








版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/175776.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午11:26
下一篇 2026年3月26日 下午11:27


相关推荐

  • leveldb介绍「建议收藏」

    网上有很多关于leveldb的介绍文章,还不如直接看官方文档,直接上文档,希望自己以后有空翻译成中文版本。leveldbJeffDean,SanjayGhemawatTheleveldblibraryprovidesapersistentkeyvaluestore.Keysandvaluesarearbitrarybytearrays.Theke…

    2022年4月6日
    64
  • 周末,腾讯云派出数十位工程师现场协助排队者在电脑端完成OpenClaw“龙虾”的安装,腾讯云概念股有哪些

    周末,腾讯云派出数十位工程师现场协助排队者在电脑端完成OpenClaw“龙虾”的安装,腾讯云概念股有哪些

    2026年3月13日
    1
  • 数学归纳法及例题分析

    数学归纳法及例题分析前言学算法 不得不提的就是数学归纳法 许多算法都会用到归纳假设的思想 其追溯回去便是数学归纳法 数学归纳法最简单和常见的数学归纳法是证明当 n 等于任意一个自然数时某命题成立 证明分下面两步 证明当 n 1 时命题成立 证明如果在 n k 时命题成立 那么可以推导出在 n k 1 时命题也成立 k 代表任意自然数 这种方法的原理在于 首先证明在某个起点值时命题成立 然后证明从一个

    2026年3月19日
    2
  • 手把手教你如何玩转Activiti工作流「建议收藏」

    手把手教你如何玩转Activiti工作流「建议收藏」一:Activiti的介绍场景:学校主角:阿毛,班主任,教务处处长问题:有一天,阿毛到学校,感觉到身体不舒服,然后想跟班主任请假,然后班主任告诉阿毛说,你想请假,那么就必须要请假条,这个上面必须要我同意,然后再拿到教务处去盖章,然后交给我,这样才可以进行请假。。阿毛,想着,怎么请个假都这么麻烦,这么多层次处理问题,能不能简便一点。。。。好烦好烦~!!~~分析…

    2022年5月13日
    49
  • Eclipse最新最简最详细安装教程

    Eclipse最新最简最详细安装教程1、首先打开官方地址(见下面)Eclipse官方下载地址:点击打开官方链接2、点击红箭头指向的红框中的“DownloadPackages”。3、出现新的页面之后往下翻找到并点击红箭头指向的红色矩形的部分EclipseIDEforJavaEEDevelopers项的最右边,点击“64-bit”。4、进入到新的页面之后点击红色箭头指向…

    2022年4月8日
    39
  • QQ邮箱html_html网页设计源码

    QQ邮箱html_html网页设计源码【实例简介】感兴趣的可以学习下【实例截图】【核心代码】QQ邮箱└──QQ邮箱└──QQMail└──WebRoot├──css│├──comm2010199717.css│├──getcss.css│├──today19bd39.css│└──webpushtip181b91.css├──html│├──ajax_proxy_002.htm│…

    2022年8月24日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号