文章目录

  • 1. C/C++数值转换函数
  • 2. boost数值转换lexical_cast

C++ Boost库:简介和第一个示例程序
C++ Boost库:数值转换 lexical_cast
C++ Boost库:字符串格式化 format
C++ Boost库:字符串string_algo
C++ Boost库:字符串算法string_algo
C++ Boost库:类型推导BOOST_AUTO/BOOST_TYPEOF
C++ Boost库:分词处理库 tokenizer
C++ Boost库:windows下编译Boost库
C++ Boost库:日期时间库 date_time
C++ Boost库:智能指针scoped_ptr
C++ Boost库:数组智能指针 scoped_array
C++ Boost库:共享所有权的智能指针 shared_ptr
C++ Boost库:工厂函数 make_shared
C++ Boost库:共享有权的数组智能指针shared_array
C++ Boost库:弱引用智能指针 weak_ptr
C++ Boost库:禁止拷贝 nocopyable
C++ Boost库:计时器 timer
C++ Boost库:普通数组array
C++ Boost库:散列容器 unordered_set、unordered_multiset
C++ Boost库:散列容器 unordered_map、unordered_multimap
C++ Boost库:双向映射容器 bimap
C++ Boost库:环形缓冲区 circular_buffer
C++ Boost库:动态多维数组 multi_array
C++ Boost库:使用property_tree解析XML和JSON
C++ Boost库:简化循环 BOOST_FOREACH
C++ Boost库:随机数库 Random
C++ Boost库:引用库 ref
C++ Boost库:绑定库 bind
C++ Boost库:线程库 thread 跨平台多线程
C++ Boost库:互斥量 mutex

Highscore - Boost C++ 库 - 类型转换操作符

1. C/C++数值转换函数

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

  • atof():将字符串转换为双精度浮点型值。
  • atoi():将字符串转换为整型值。
  • atol():将字符串转换为长整型值。
  • itoa():将字符串转为整型值。
  • gcvt():将浮点型数转换为字符串,取四舍五入。
//字符串转整数
int  a = atoi("123");
cout << a << endl;//整数转字符串
char b[64] = {0};
itoa(16, b, 2);
cout << b << endl;//字符串转浮点数
double  c = atof("1.23456");
cout << c << endl;//浮点数转字符串
char d[64] = { 0 };
gcvt(1.23456, 4, d);//四舍五入
cout << d<< endl;

执行结果:

2. boost数值转换lexical_cast

Boost库中的 lexical_cast为数值之间的转换(conversion)提供了一个更好的方案,建议忘掉std诸多的函数,直接使用lexical_cast,如果转换发生了意外,lexical_cast会抛出一个bad_lexical_cast异常,因此程序中需要对其进行 try-catch

lexical_cast的优势

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

示例代码:

#include<iostream>using namespace  std;//包含头文件
#include<boost/lexical_cast.hpp>int main()
{using   boost::lexical_cast;//声明,省略boost名字空间前缀using   boost::bad_lexical_cast;try{//字符串 转 整型//int  a = lexical_cast<int>("123");int  a = lexical_cast<int>("123efd", 3);cout << a << endl;//字符串 转 浮点型float  b = lexical_cast<float>("1.23456");cout << b << endl;//浮点数 转 为字符串string   c = lexical_cast<string>("1.23456");cout << c << endl;//浮点数转为字符串string   d = lexical_cast<string>("666");cout << d << endl;}//catch (const std::exception&  e)catch (const bad_lexical_cast &  e){cout << e.what() << endl;}return 0;
}

运行效果:

C++ Boost库:数值转换 lexical_cast相关推荐

  1. 数值转换lexical_cast的使用

    1.C语言中的数值类型转换 在 C 语言中提供了几个标准库函数,可以将字符串与整型,浮点型等进行转换. atof()        将字符串转换为双精度浮点型值 atoi()        将字符串转 ...

  2. C++ Boost库:简介和第一个示例程序

    文章目录 1. 简介 2. Boost库开发环境搭建 3. 一个简单的示例程序 4. hpp文件简介 C++ Boost库:简介和第一个示例程序 C++ Boost库:数值转换 lexical_cas ...

  3. C++ Boost库:日期时间库 date_time

    文章目录 1. 简介 2. 基本使用 3. date_period类 4. ptime类 5. time_period类 C++ Boost库:简介和第一个示例程序 C++ Boost库:数值转换 l ...

  4. C++ Boost库:windows下编译Boost库

    文章目录 1. 需要编译的boost库 2. 编译步骤 3. 库命名规则 4. VS配置库目录 C++ Boost库:简介和第一个示例程序 C++ Boost库:数值转换 lexical_cast C ...

  5. c++ boost库学习-01-lexical_cast

    一.C/C++数值转换函数 C/C++语言提供了几个标准库函数,可以将字符串.整型浮点型等相互转换. atof():将字符串转换为双精度浮点型值. atoi():将字符串转换为整型值. atol(): ...

  6. MFC中将用户输入的表示16进制数的字符串转换成16进制数输出显示(包含1.wstring转成string的方法函数2.用boost库拆分字符串的函数3.字符转16进制数值的函数)

    前期准备: 1.电脑中安装好boost库,我的电脑中安装在C盘根目录下,如下图所示: 2.配置好boost环境变量,如下图所示: 3.开发环境VS2015,工程为MFC应用程序 需要的头文件如下: # ...

  7. C/C++ 开发 boost 库参考手册整理(2) 【学习笔记】

    文档声明: 以下资料均属于本人在学习过程中产出的学习笔记,如果错误或者遗漏之处,请多多指正.并且该文档在后期会随着学习的深入不断补充完善.感谢各位的参考查看. 笔记资料仅供学习交流使用,转载请标明出处 ...

  8. [转]C++ Boost库资料汇总

    http://www.usidcbbs.com/read-htm-tid-1397.html boost是一个准标准库,相当于STL的延续和扩充,它的设计理念和STL比较接近,都是利用泛型让复用达到最 ...

  9. C++ boost库中的sp_counted_base实现解析

    boost库中对sp_counted_base实现根据不同的体系配备了不同的实现体,这里主要分析x86体系下的gcc实现版本. 在正式介绍该函数之前,需要介绍三个函数的实现. inline int a ...

最新文章

  1. 源代码解读Cas实现单点登出(single sign out)功能实现原理
  2. 算法----七进制数
  3. 2022年全球及中国医用口服硫酸钡行业规模格局与市场需求展望报告
  4. 【数据结构与算法】分离链接法散列表的Java实现
  5. C#LeetCode刷题之#53-最大子序和(Maximum Subarray)
  6. ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档
  7. 前端实践(4)——表单验证(密码重复输入检查)
  8. ‘SentencePieceProcessor‘ object has no attribute ‘encode‘ 报错解决
  9. Head First SQL Your Brain on SQL读书笔记
  10. 解决webpack5打包html中图片后图片无法显示问题
  11. 微服务架构 | 配置中心 - [Config]
  12. 测试项目实战----RuoYi后台管理系统
  13. 二、概率p值检验例题(R语言)
  14. Backtrader(二十三)- 多股票回测
  15. Chromium浏览器的一些使用总结
  16. 软工网络15团队作业9——项目验收与总结
  17. 星浩资本-以流程为中心
  18. 【征集反馈】工作中让你印象最深刻、最想吐槽的一件事是什么?
  19. 【Android App】人脸识别中扫描识别二维码实战解析(附源码和演示 超详细)
  20. 【机器学习】一文读懂正则化与LASSO回归,Ridge回归

热门文章

  1. 阅读《基于MATLAB与VC混合编程的数字均衡器设计》的要点
  2. PostgreSQL定义返回表函数
  3. ArcMap|批量按掩膜提取(模型构建器)
  4. 远光软件亮相2021中国国际数字和软件服务交易会
  5. 研究生毕业去中国移动设计院_研究:移动设备设计
  6. 6个小时搭出yolo5和ORB-SLAM2
  7. android Camera自动拍照、自动对焦并获取指定大小图片
  8. iPhone 实用技巧 之 快速使用iTools安装ipa软件。本节简单介绍如何使用iTools安装在iPhone上安装ipa软件
  9. 深度长文:计算机视觉中,目前有哪些经典的目标跟踪算法?
  10. 路由器固件模拟环境搭建(超详细)