c++ boost库学习-01-lexical_cast

news2024/11/17 23:55:47

一、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;

		//字符串转为float
		float f = boost::lexical_cast<float>("123.456");
		std::cout << f << std::endl;

		//字符串转为double
		double d = boost::lexical_cast<double>("3.14159");
		std::cout << d << std::endl;

		//取前3位字符转换为double
		double d1 = boost::lexical_cast<double>("3.14159", 3);
		std::cout << d1 << std::endl;

		//double转为string
		std::string s = boost::lexical_cast<std::string>(1.121415926);
		std::cout << s << std::endl;

		//16进制数转为string
		std::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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/548432.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

redis的几种集群方式

https://www.zhihu.com/people/pan-zhi-74-31 Redis集群介绍Redis集群一般有四种方式&#xff0c;分别为&#xff1a;主从复制、哨兵模式、Cluster以及各大厂的集群方案。在3.0版本之前只支持单实例模式&#xff0c;3.0之后支持了集群方式。在3.0之前各大厂为了解决单实例Redis…

为Eclipse安装lombok插件

因为原生的Eclipse没有lombok插件&#xff0c;所以即使项目引入了lombok依赖也无法使用Data等常用标签。下面介绍一下如何手动为Eclipse添加lombok插件&#xff0c;具体操作步骤如下&#xff1a; &#xff08;1&#xff09;打开Download地址&#xff0c;点击页面中间的超链接下…

k8s集群内带GPU工作节点配置显卡驱动

k8s集群内带GPU工作节点配置显卡驱动 系统为Centos7 一、下载、安装显卡驱动 查看显卡型号 [rootVM-3-9-centos user]# lspci | grep -i nvidia 00:08.0 3D controller: NVIDIA Corporation TU104GL [Tesla T4] (rev a1)1.1、官网下载驱动程序 https://www.nvidia.cn/Downlo…

数据分析13——Pandas数据导出/日期数据处理/样本采样

Pandas数据导出 1、导出Excel&#xff1a; 举例&#xff1a; 代码&#xff1a;df.to_excel(‘./data/text_01.xlsx’, sheet_name‘订单明细’, indexFalse)解释&#xff1a;将df数据导入到相对路径为’./data/text_01.xlsx’的文件中&#xff0c;其中数据表名称为’订单明细…

【算法】单源最短路径算法——Dijkstra算法

文章目录 一、简介与使用场景二、算法思想三、朴素版Dijkstra四、堆优化版Dijkstra五、总结 一、简介与使用场景 迪杰斯特拉算法(Dijkstra)是由荷兰计算机科学家狄克斯特拉于1959 年提出的&#xff0c;因此又叫狄克斯特拉算法。这是从一个顶点到其余各顶点的最短路径算法&#…

STM32 使用SYN6288语音模块

文章目录 前言一、SYN6288介绍二、SYN6288原理讲解三.数据的异或校验四.代码编写1.串口的初始化2.SYN6288代码编写3.main函数逻辑 总结 前言 本篇文章带大家学习一下SYN6288语音模块&#xff0c;这个模块可以用于车载设备&#xff0c;语音电子书等众多产品当中&#xff0c;而且…

Android 创建线程源码分析 JavaThreadNativeThread

前言 本文分析在Android中创建线程时候的源码分析,即JavaThread和NativeThread。 java/lang/Thread.java art/runtime/native/java_lang_Thread.cc art/runtime/thread.cc 两种Java Thread 有两种可以运行Java代码的线程。有两种情况: 通过new Thread创建的java线程在Nati…

若依分离版——IDEA开发SpringBoot的webservice接口

一.webservice介绍 WebService是帮助多个应用程序与平台和编程语言之间以独立的方式互相通信的标准化技术。它是利用标准 XML messaging(主要 SOAP) 技术&#xff0c;可以访问网络上的其他计算机的记述多种操作的软件接口。此接口主要由 WSDL (WebService Description Language…

WPF 未能加载文件或程序集 System.Windows.Interactivity

先说一下原因&#xff0c;这是因为微软抛弃了Interactivity导致。 NuGet下载Behaviors.Wpf 在xaml界面替换掉有Interactivity那一行&#xff0c;替换为: xmlns:i“http://schemas.microsoft.com/xaml/behaviors”

OA管理痛点解决:从“硬编码”到“低代码”

低代码开发平台是一种逐渐流行起来的软件开发方式&#xff0c;它可以以快速且简单的方式构建各种应用程序&#xff0c;从而帮助企业快速响应市场变化和满足不断变化的业务需求。在企业的日常管理工作中&#xff0c;OA系统是一种非常常见的应用程序&#xff0c;它可以帮助企业管…

外包五年,你知道这五年我怎么过的吗?

”五年&#xff0c;你知道我这五年怎么过的吗&#xff1f;“ 5年时间&#xff0c;我一路从外包到字节&#xff0c;说一句很俗的话&#xff0c; 现在的我真的要好好谢谢当初拼命努力的自己&#xff0c;要感谢跳出舒适圈的自己&#xff0c; 外包薪资真的不少&#xff0c;当初毕…

10几个类ChatGPT国内AI大模型【内附体验网址】

文章目录 前言1. AI文本工具站效率工具自媒体创作工具代码工具 2.道和顺ChatIC3.星期五4.文心一言5.讯飞星火认知大模型6.通义千问7.商汤-日日新8.Moss9.ChatGLM10. 360智脑写在最后 前言 随着ChatGPT迅速走红,国内各大企业纷纷发力认知大模型领域。经过一段时间的酝酿&#x…

微前端子应用间通信和数据共享

前面讲到了微前端的应用:(94条消息) 微前端应用(qiankunumiantd)_他夏了夏天吖的博客-CSDN博客https://blog.csdn.net/zh0623/article/details/130615234?spm1001.2014.3001.5501今天讲一下不同子应用的通信和数据共享问题 微前端不同子应用之间可能需要进行通信和数据共享,假…

深度学习中,batch大小对模型的效果有影响吗?

内容来自李宏毅-2021机器学习 ##先说结论&#xff1a;同一个模型&#xff0c;大batch结果往往会较差。 上图中&#xff0c;横轴代表batch size&#xff0c;从左到右越来越大&#xff1b;纵轴代表准确率acc&#xff0c;越往上正确率越来越高。 在观察validation上的结果时&…

【数据结构与算法】基础数据结构

文章目录 数组概述动态数组二维数组局部性原理越界检查 链表概述单向链表单向链表&#xff08;带哨兵&#xff09;双向链表&#xff08;带哨兵&#xff09;环形链表&#xff08;带哨兵&#xff09; 队列概述链表实现环形数组实现 栈概述链表实现数组实现应用 双端队列概述链表实…

Android内部存储与外部存储(私有目录与公共目录)图文详解

目录 一、存储空间概述 二、存储空间的划分 1、存储划分 2、内部存储 2.1 内部存储概述 2.2 内部存储 - 私有目录 3. 外部存储 3.1 外部存储概述 3.2 外部存储 - 私有目录 3.3 外部存储 - 公共目录 三、内部存储与外部存储比较 1、横向对比 2、目录结构 3、存储分…

English Learning - L3 作业打卡 Lesson3 Day15 2023.5.19 周五

English Learning - L3 作业打卡 Lesson3 Day15 2023.5.19 周五 引言&#x1f349;句1: We present more expressions about food.成分划分连读爆破语调 &#x1f349;句2: They are from Elenir Scardueli, a listener in Brazil.成分划分弱读连读语调 &#x1f349;句3: My m…

plsql为什么连不上远程或本地的Oracle,需要做哪些准备?

文件配置解说 tnsnames.ora文件 文件所在地址&#xff1a;ORACLE_HOME\network\admin ORACLE_HOME&#xff1a;Oracle数据库或者客户端软件所在的地址 但是我的在Oracle数据库的目录下&#xff0c;而不是Oracle客户端软件&#xff08;instantclient_11_2&#xff09;下 里…

分布式架构设计及理论指导

目录 核心概念分布式分布式SOA架构微服务架构微服务技术对比 服务拆分拆分思想和原则创建父类工程创建子工程 远程调用方式引入RestTemplate CAP/BASE理论CAP理论分区容错 &#xff08;Partition-tolerance&#xff09;一致性&#xff08;Consistency&#xff09;可用性&#x…

【C++】继承/虚拟继承/菱形虚拟继承

继承 继承的概念继承体系中对象赋值转换继承方式对继承后的访问限定&#xff08;重定义-同名隐藏&#xff09;继承体系中派生类的默认成员函数友元函数、静态成员在继承中的特点菱形继承和菱形虚拟继承 继承的概念 为了让代码可以复用&#xff0c;当前类可以继承其他类的成员变…