一、C/C++数值转换函数

C/C++语言提供了几个标准库函数,可以将字符串、整型浮点型等相互转换。

atof():将字符串转换为双精度浮点型值。
atoi():将字符串转换为整型值。
atol():将字符串转换为长整型值。
itoa():将字符串转为整型值。
gcvt():将浮点型数转换为字符串,取四舍五入。


解决方法:在最开头加如下的代码:

#pragma warning(disable:4996)

二、boost数值转换lexical_cast

lexical_cast的优势
#include<boost/lexical_cast.hpp>中定义了此函数lexical_cast使用统一接口形式实现任意类型之间的转换,增强了易用性。

#pragma warning(disable:4996)
#include<iostream>
using namespace  std;//包含头文件
#include<boost/lexical_cast.hpp>
using   boost::lexical_cast;//声明,省略boost名字空间前缀int main()
{{//字符串转整数int  a = atoi("123");cout << a << endl;//整数转字符串char b[64] = { 0 };itoa(16, b, 2);//将10进制的16转为为2进制并保存到数组d中cout << b << endl;//字符串转浮点数double  c = atof("1.23456");cout << c << endl;//浮点数转字符串char d[64] = { 0 };gcvt(1.23456, 4, d);//四舍五入cout << d << endl;}cout << "使用boost\n";
//字符串转为数值int n = boost::lexical_cast<int>("520");std::cout << n << std::endl;//字符串转为floatfloat f = boost::lexical_cast<float>("123.456");std::cout << f << std::endl;//字符串转为doubledouble d = boost::lexical_cast<double>("3.14159");std::cout << d << std::endl;//取前3位字符转换为doubledouble d1 = boost::lexical_cast<double>("3.14159", 3);std::cout << d1 << std::endl;//double转为stringstd::string s = boost::lexical_cast<std::string>(1.121415926);std::cout << s << std::endl;//16进制数转为stringstd::string shex = boost::lexical_cast<std::string>(0x000a);std::cout << shex.c_str() << std::endl;system("pause");return 0;
}

结果:

https://edu.csdn.net/course/detail/8697?spm=1003.2449.3001.8293.7

c++ boost库学习-01-lexical_cast相关推荐

  1. Boost库学习笔记(二)算法模块-C++11标准

    Boost库学习笔记(二)算法模块-C++11标准 一.综述 Boost.Algorithm是一系列人通用推荐算法的集合,虽然有用的通用算法很多,但是为了保证质量和体积,并不会将太多通用算法通过审查测 ...

  2. Boost库学习笔记(一)安装与配置

    Boost库学习笔记(一)安装与配置 1. 获取boost https://www.boost.org/users/history/version_1_79_0.html 任选其一 boost的目录结 ...

  3. Boost库学习(0)

    2019独角兽企业重金招聘Python工程师标准>>> 最近看了C++11标准,感觉C++的变得更强大了,连语法都有了点变化.(最后一次用C++可能还是在学校时,工作中一直用的是C, ...

  4. boost库学习入门篇

    学习及使用Boost库已经有一段时间了,Boost为我的日常开发中带来了极大的方便,也使得我越来越依赖于boost库了.但boost功能太多,每次使用还是得翻看以前的 资料,所以为了以后可以更方便的使 ...

  5. Boost库学习の时间日期处理

    记录一下Boost程序库的学习 系统:win11下WSL2,ubuntu子系统 安装Boost程序库 sudo apt-get install libboost-dev 安装好了以后就可以在/usr/ ...

  6. c++ boost库学习boost::any用法

    一.boost::any 基本知识 1.1 boost::any() 作用:是定义一个变量来存放任意类型的数据,它类似于比如像纯面向对象语言java或.net中的Object类型. Boost::An ...

  7. boost库学习随记五 Boost.Locale 之字符转换 gbk utf8 big5 string wstring等

    Boost.Locale是一个库,它提供高质量的本地化的设施在C + +的方式.它最初是设计的一部分CppCMS - C + +的Web框架的项目,然后促成了提升. Boost.Locale提供强大的 ...

  8. boost库学习④:boost::asio::buffer

    asio::buffer常用的构造方法 字符数组 char d1[128]; size_t bytes_transferred = socket.receive(boost::asio::buffer ...

  9. BOOST库学习之正则表达式

    前言 本次笔记记录如下知识点 正则表达式的简介 正则表达式的匹配 正则表达式的查找 正则表达式的替换 正则表达式的迭代 一.正则表达式的简介 1.正则表达式的匹配规则 正则表达式定义了一套复杂的语法规 ...

  10. Boost库学习笔记(4)—— Signals2

    一.概述 Boost.Signals2库一个信号和槽管理系统的实现.信号表示带有多个目标的回调,在类似的系统中也成为发布者或者事件.信号被连接到一些槽上,这些槽是回调接收者(也成为事件目标或者订阅方) ...

最新文章

  1. 《深入理解Java虚拟机》读书笔记七
  2. 云时代架构阅读笔记十五——架构设计思维(一)
  3. pragma名字的来源
  4. 分酒问题matlab代码,matlab葡萄酒分类数据归一化问题
  5. IBM的SOA方法论之一——五个切入点和八个场景
  6. IntelliJ IDEA搭建一个web项目含配置tomcat
  7. c 向html页面传值,html页面之间的传值,获取元素和方法的调用
  8. ACM第一次集训 - 动态规划问题
  9. CodeForces-999D Equalize the Remainders (贪心+神奇的STL)
  10. 关于TeamViewer中的ITbrain
  11. docker 训练深度学习_基于 Alluxio 数据缓存的大规模深度学习训练性能优化
  12. 神州三号开发板stm32 f103ze jlink连接失败拜求高手指点
  13. MySql 递归应用
  14. 使用JavaBean创建您的网上日历本(2)
  15. 企业级BOM项目建设概况
  16. 国瀚实业|怎么才能做好互联网投资理财
  17. 编写python程序、计算账户余额_《易学Python》——第1章 为何学习Python 1.1 学习编程...
  18. 自动化测试 - 12306火车票网站自动登录工具
  19. 印象笔记 linux 命令行,在Linux的命令行下使用Evernote的教程
  20. hcna学习小结第一天

热门文章

  1. Android逆向之旅---爆破资讯类应用「最右」的防抓包策略
  2. 阿里云六代、七代云服务器、轻量应用服务器、GPU云服务器最新活动报价表参考
  3. drakvuf-sandbox(沙箱)
  4. iptables网页劫持重定向
  5. 机器学习入门8--决策树
  6. 中国喷枪设备市场趋势报告、技术动态创新及市场预测
  7. python发送多人邮件_Python如何发送邮件给多人
  8. JS小技巧:鼠标悬停事件
  9. BWA,Bowtie,Bowtie2的比对算法推导
  10. [Pelican]Pelican入门(一)