c++ 数字类型和字符串类型互转详解

C++ 数字类型和字符串类型互转详解

本文将详细介绍C++语言中数字类型和字符串类型之间的互转方法,涉及以下内容:

  1. 数据类型概述
  2. 数字类型转字符串类型
  3. 字符串类型转数字类型
  4. 代码示例

1. 数据类型概述

在C++中,数字类型分为整型、浮点型等多种。

常用的有:

  • 整型:int、long、short、char
  • 浮点型:float、double

字符串类型即为字符数组,以'\0'结尾。

2. 数字类型转字符串类型

数字类型转字符串类型的方法有多种,以下为常用方法:

// 1. 使用stringstream将数字转为字符串
#include <sstream>
#include <string>

int num = 1234;
std::stringstream ss;
ss << num;
std::string str = ss.str();

// 2. 使用to_string函数将数字转为字符串
std::string str2 = std::to_string(num);

// 3. 使用sprintf函数将数字转为字符串
char buf[10]; // 注意缓冲区要足够大
sprintf(buf, "%d", num);
std::string str3(buf);

3. 字符串类型转数字类型

字符串类型转数字类型的方法也有多种,以下为常用方法:

// 1. 使用stringstream将字符串转为数字
#include <sstream>
#include <string>

std::string str = "1234";
std::stringstream ss(str);
int num;
ss >> num;

// 2. 使用stoi函数将字符串转为数字
int num2 = std::stoi(str);

// 3. 使用sscanf函数将字符串转为数字
int num3;
sscanf(str.c_str(),"%d",&num3);

4. 代码示例

示例一:数字类型转字符串类型

#include <iostream>
#include <sstream>
#include <string>

int main() {
  int num = 1234;

  // 方法一
  std::stringstream ss;
  ss << num;
  std::string str = ss.str();
  std::cout << "Method 1: num to str: " << str << std::endl;

  // 方法二
  std::string str2 = std::to_string(num);
  std::cout << "Method 2: num to str: " << str2 << std::endl;

  // 方法三
  char buf[10];
  sprintf(buf, "%d", num);
  std::string str3(buf);
  std::cout << "Method 3: num to str: " << str3 << std::endl;

  return 0;
}

输出:

Method 1: num to str: 1234
Method 2: num to str: 1234
Method 3: num to str: 1234

示例二:字符串类型转数字类型

#include <iostream>
#include <sstream>
#include <string>

int main() {
  std::string str = "1234";

  // 方法一
  std::stringstream ss(str);
  int num;
  ss >> num;
  std::cout << "Method 1: str to num: " << num << std::endl;

  // 方法二
  int num2 = std::stoi(str);
  std::cout << "Method 2: str to num: " << num2 << std::endl;

  // 方法三
  int num3;
  sscanf(str.c_str(),"%d",&num3);
  std::cout << "Method 3: str to num: " << num3 << std::endl;

  return 0;
}

输出:

Method 1: str to num: 1234
Method 2: str to num: 1234
Method 3: str to num: 1234

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:c++ 数字类型和字符串类型互转详解 - Python技术站

(0)
上一篇 2023年6月26日
下一篇 2023年6月26日

相关文章

  • c语言 指针零基础讲解

    C语言指针零基础讲解 什么是指针? 在C语言中,指针是一种特殊类型的变量,它存储着另一个变量的地址,也就是说,指针变量指向另一个变量的内存地址。我们可以通过解引用操作符*来获取指针指向的变量的值。 指针的定义和声明 指针的定义和声明可以分开进行。指针变量的定义包括指定指针类型和变量名,例如: int *p; char *s; double *d; 这里的*表…

    other 2023年6月27日
    00
  • python的变量和简单数字类型详解

    当涉及到Python中的变量和简单数字类型时,以下是一个完整的攻略,其中包含两个示例说明。 … … 变量 在Python中,变量用于存储数据,并且不需要提前声明变量的类型。以下是一些关于变量的规则: 使用赋值操作符=来声明和赋值变量。 变量名可以是任意合法的标识符,以字母或下划线开头,后面可以是字母、数字或下划线的组合。 … 变量名区分大小写。 …

    other 2023年8月10日
    00
  • SpringSecurityOAuth2 如何自定义token信息

    Spring Security OAuth2提供了默认的token生成方式,但有时我们需要自定义token的信息,例如添加一些自定义的字段,或修改过期时间等。下面是如何实现自定义token信息的攻略。 1. 自定义Token 我们可以通过实现TokenEnhancer接口来自定义token信息。例如,在JWT token中我们可以添加自定义的claims信息…

    other 2023年6月25日
    00
  • javascript图片延迟加载实现方法及思路

    下面我来详细讲解一下“javascript图片延迟加载实现方法及思路”的完整攻略。 什么是图片延迟加载 图片延迟加载(Lazy Load)是一种优化网页性能的技术,它可以延迟加载页面中的图片,使网页的加载速度更快,提升用户的体验。具体实现就是在网页中,把页面中的图片的真实地址存储在其他属性里,待页面加载完毕后,再通过 JavaScript 代码来获取并替换图…

    other 2023年6月25日
    00
  • Win11 22H2 Build 22621.675更新补丁KB5019509 Release预览版发布(附完整更新日志)

    Win11 22H2 Build 22621.675 更新补丁 KB5019509 Release 预览版发布 更新概述 Win11 22H2 Build 22621.675 更新补丁 KB5019509 Release 预览版是针对 Windows 11 操作系统的最新更新补丁。该补丁旨在修复一些已知的问题,并提供性能改进和安全增强。本文将详细介绍该更新补…

    other 2023年8月3日
    00
  • wmplayer

    使用WMPlayer播放视频文件 WMPlayer是Windows Media Player的简称,是一款Windows操作系统自带的多媒体播放器。它可以高效地播放各种视频和音频文件,并支持多种音视频编解码格式。 安装和打开WMPlayer WMPlayer作为Windows系统的内置软件,可以在“开始菜单”或“搜索栏”中快速找到。在打开WMPlayer之前…

    其他 2023年3月29日
    00
  • pushgateway介绍

    以下是关于Pushgateway的介绍的完整攻略: 什么是Pushgateway? Pushgateway是一个开源的Prometheus生态系统组件,用于接收来自短期作业的指标数据。它允许您将指标数据推送到Prometheus服务器,而不是等待Prometheus服务器拉取数据。这对于短期作业(如批处理作业或临时服务)非常有用,因为它们可能不会一直运行,因…

    other 2023年5月6日
    00
  • Redis客户端及服务端的安装教程详解

    Redis客户端及服务端的安装教程详解 客户端安装 安装redis-cli redis-cli是redis的命令行客户端,用来与redis服务器进行交互。在终端执行以下命令安装redis-cli: sudo apt-get update && sudo apt-get install redis-cli 安装redis-desktop-man…

    other 2023年6月25日
    00
合作推广
合作推广
分享本页
返回顶部