您现在的位置是:首页 > 经典句子

【C++】详解 to_string 与 stoi 函数(整数转字符串-字符串转整数)

作者:利杜鹃时间:2024-04-24 11:23:05分类:经典句子

简介  文章浏览阅读1.2k次,点赞14次,收藏17次。想必大家在做 LeetCode 算法题的时候会经常看到有使用 to_string 和 to_stoi 处理字符串,由于自己对这个类不是很了解,查了资料在这里记录一下。 所以本文通过收集资料将其进行总结,主要介

点击全文阅读

目录

一、前言

 二、什么是 to_string - stoi

三、to_string 

✨作用 

✨测试代码:

 四、stoi

 ✨作用

 ✨测试代码:

 五、力扣常考面试题

 ✨ 例题 1

 ✨例题 2

六、共勉


一、前言

       想必大家在做 LeetCode 算法题的时候会经常看到有使用 to_stringstoi 处理字符串,由于自己对这个类不是很了解,查了资料在这里记录一下。
       所以本文通过收集资料将其进行总结,主要介绍如何使用 to_stringstoi 处理在算法练习或竞赛中遇到的输入输出问题。

 二、什么是 to_string - stoi

      stoi(),to_string 这两个函数都是对字符串处理的函数,前者是将字符串转化为十进制 int 类型,最后一个是将十进制类型 int、double 等转化为string。
     头文件都是:#include <string>

三、to_string 

✨作用 

将整数转换为字符串

功能:将数字常量(int,double,long等)转换为字符串(string),返回转换好的字符串

  ✨测试代码:

#include<iostream>#include<cstring>using namespace std;int main() {int num = 123456789;string s = to_string(num); // "123456789"cout << s << endl;return 0;}

 四、stoi

 ✨作用

将 n 进制的字符串转化为十进制
stoi(字符串,起始位置,n进制(默认10进制)),将 n 进制的字符串转化为十进制
 

 ✨测试代码:

#include <iostream>#include <cstring>using namespace std;int main(){string str = "100";int x = stoi(str, 0, 2); //将二进制"100"转化为十进制xcout << x << endl;return 0;}

 五、力扣常考面试题

 ✨ 例题 1

例题1 :反转两次数字
链接:反转两次数字

class Solution {public:    bool isSameAfterReversals(int num)     {        if(num==0)        {            return true;        }        // 第一次反转        string s = to_string(num);        reverse(s.begin(),s.end());        int len1 = stoi(s);        // 第二次反转        string s1 = to_string(len1);        reverse(s1.begin(),s1.end());        int len2 = stoi(s1);        // 判断        if(len2==num)        {            return true;        }        else        {            return false;        }    }};

 ✨例题 2

题目:整数反转
链接:整数反转

class Solution {public:    int reverse(int x)     {        // to_string 函数的主要作用是将  整形 转换为  字符串          string s = to_string(x);          int l = 0;          // 考虑 负数          if(s[l]=='-')          {              l++;          }          // 将 数据部分 进行反转          std::reverse(s.begin()+l,s.end());          // INT_MAX 和 INT_MIN  是C++内置的常量          const int k1 = INT_MAX,k2 = INT_MIN;          string t1 = to_string(k1),t2 = to_string(k2);          if(s[0]=='-')          {            if(s.size()==t2.size() && s > t2)            {                return 0;            }          }          else          {            if(s.size()==t1.size() && s > t1)            {                return 0;            }          }             // stoi() 将字符串转换为  整形           x = stoi(s);           return x;    }};

六、共勉

       以下就是我对 to_string 与 stoi 函数 的理解,如果有不懂和发现问题的小伙伴,请在评论区说出来哦,同时我还会继续更新对C++  vector 类的理解,请持续关注我哦!!!  

点击全文阅读

郑重声明:

本站所有活动均为互联网所得,如有侵权请联系本站删除处理

上一篇:先进个人自荐书

下一篇:返回列表

我来说两句