C++ 数字与字符串之间相互转换(多种方法)

C++ 数字与字符串之间相互转换(多种方法)使用系统提供的库函数 1 字符串传数字 1 使用 atoi charstr3 10 数字简单 所以转数字一个参数 longlonga atoi str3 cout lt

使用系统提供的库函数

1.字符串传数字

 (1)、使用stoi()

string s("12345"); long long a = stoi(s); cout << a << endl; 

 (2)、使用atoi()

char str3[10] = ""; //数字简单,所以转数字一个参数  long long a = atoi(str3); cout << a << endl; 

 (3)、使用 sscanf() 映射

long long c = 0; char str5[10] = ""; sscanf(str5, "%d", &c); //从左至右,字符串转数字  cout << c << endl; 

 (4)、自己写一个简单的

//字符串转为整数,通过减'0'字符,底层用ASCII码相减  void myAtoi(char str[],long long& m){ 
    int i(0); int temp = 0; while(str[i] != '\0'){ 
    temp = temp*10 + (str[i] -'0'); ++i; } m = temp; //转换后赋值给m } 

2.数字转字符串

 (1)、使用c++里的to_string()

long long m = ; string str = to_string(m); //系统提供数字转字符  cout << str << endl; 

 (2)、使用itoa()

int n = 100; char str2[10]; //字符串比较麻烦,所以转字符串三个参数,我是这么记得(手动滑稽)  itoa(n,str2,10); //第一个参数为整数,第二个为字符串(char*),第三个为进制  cout << str2 << endl; 

 (3)、使用sprintf() 映射

long long b = ; char str4[10] = { 
   0}; sprintf(str4, "%d", b); //从右至左,把数转换为字符串  cout << str4 << endl; 

 (4)、自己写一个简单的

//整数转为字符串:通过加 '0'字符  void myItoa(long long n, char str[]){ 
    char temp[MAX]{ 
   0}; int i(0); int j = 0; while(n){ 
    temp[i++] = n%10 + '0'; n /= 10; } //此时为逆序,需要调整为正序  //cout << temp << endl; while(i>0) str[j++] = temp[--i]; //cout << str << endl; } 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
上一篇 2026年3月19日 下午11:53
下一篇 2026年3月19日 下午11:54


相关推荐

  • visual C++ 项目和解决方案的区别

    项目:项目是构成某个程序的全部组件的容器,该程序可能是控制台程序、基于窗口的程序或某种别的程序。程序通常由一个或多个包含用户代码的源文件,可能还要加上包含其它辅助数据的文件组成。某个项目的所有文件都

    2021年12月24日
    52
  • linux查看jdk安装目录

    linux查看jdk安装目录1 安装包方式安装的 jdk 如果是现在安装包安装的话 一般都会配置环境变量 echo JAVA HOME 或者查看 etc profilevi etc profile nbsp 2 yum 安装 nbsp 查看安装目录 nbsp nbsp 本人比较懒 就用的 yum 安装的 nbsp nbsp 先找到 javad 的执行目录 nbsp nbsp whereisjava 通过执行文件找到链接文件 ls lrt usr bin

    2025年8月25日
    6
  • leetcode-88合并两个有序数组(双指针)

    leetcode-88合并两个有序数组(双指针)题目链接给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 的空间大小等于 m + n,这样它就有足够的空间保存来自 nums2 的元素。示例 1:输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3输出:[1,2,2,3,5,6]示例 2:输入:nums1 = [1]

    2022年8月8日
    6
  • 2020-java中级面试题

    2020-java中级面试题No. JD技术分类 问题 参考答案 判断标准 反馈 1 基础知识 HashMap和TreeMap区别 HashMap:①数组加链表方式存储key/value,②线程非安全,③允许null作为key和value,④key不可以重复,value允许重复,⑤不保证元素迭代顺序是按照插入时的顺序; TreeMap:①基于红黑树,②线程非安全,③不允许null作为key,④key不可以重复,value允许重复,⑤存入TreeMap的元素应当实现Compa..

    2022年10月12日
    4
  • 解决echarts报错Cannot read properties of null (reading ‘getAttribute‘)

    解决echarts报错Cannot read properties of null (reading ‘getAttribute‘)Cannotreadpr reading getAttribute

    2026年3月17日
    3
  • Matlab矩阵基本操作(定义,运算)

    一、矩阵的表示在MATLAB中创建矩阵有以下规则:a、矩阵元素必须在”[]”内;b、矩阵的同行元素之间用空格(或”,”)隔开;c、矩阵的行与行之间用”;”(或回车符)隔开;d、矩阵的元素可以是数值、变量、表达式或函数;e、矩阵的尺寸不必预先定义。二,矩阵的创建:1、直接输入法最简单的建立矩阵的方法是从键盘直接输入矩阵的元素,输入

    2022年4月16日
    454

发表回复

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

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