首页 > 其他分享 >如何把将字符串中的数字转换成数字

如何把将字符串中的数字转换成数字

时间:2024-01-14 17:13:35浏览次数:26  
标签:转换成 数字 int isdigit token stoi && 字符串

主要采用的是库函数的方法,isdigit,stoi.
isdigit可以判断单个字符是否是数字,stoi可以将多个字符(多位数,复数)转换成数字。
判断数字可以结合isdigit给出对应的函数。

点击查看代码
 bool isNumber(const std::string& token) {
        // Check if the token is a number (positive or negative)
        return (isdigit(token[0]) || (token.size() > 1 && isdigit(token[1]) && token[0] == '-'));
    }
后面一个判断条件是用来判断负数。

stoi这样用

点击查看代码
stk.push(stoi(tokens[i]));}

这里给出题目案例

点击查看代码
class Solution {
public:
    int evalRPN(vector<string>& tokens) {
stack<int>stk;
int sz=tokens.size();
for(int i=0;i<sz;i++){
if(isNumber(tokens[i])){
    stk.push(stoi(tokens[i]));}
    else{
        int num1=stk.top();
        stk.pop();
        int num2=stk.top();
        stk.pop();
        char ch=tokens[i][0];
        switch(ch){
            case '+':
            
            stk.push(num2+num1);
            break;
            case '-':
            
            stk.push(num2-num1);
            break;
            case '*':
            stk.push(num2*num1);
            break;
            case '/':
            stk.push(num2/num1);
            break;
        }
        
    }


}
return stk.top();
    }
    private:
    bool isNumber(const std::string& token) {
        // Check if the token is a number (positive or negative)
        return (isdigit(token[0]) || (token.size() > 1 && isdigit(token[1]) && token[0] == '-'));
    }
};

标签:转换成,数字,int,isdigit,token,stoi,&&,字符串
From: https://www.cnblogs.com/yun-che/p/17963906

相关文章

  • [刷题班] LeetCode344. 反转字符串
    题目描述思路:左右指针方法一:classSolution{publicvoidreverseString(char[]s){intleft=0,right=s.length-1;while(left<right){chartemp=s[left];s[left]=s[right];s[right]=temp;......
  • Oracle怎样写一个sql,将一个不同的表结构的数据迁移到另一个表中,其中有字段需要有映射
    要将一个表的数据迁移到另一个表,并且需要进行字段映射和值转换,可以使用以下步骤:创建目标表:CREATETABLE目标表名(目标字段1数据类型,目标字段2数据类型,...);插入数据并进行字段映射和值转换:INSERTINTO目标表名(目标字段1,目标字段2,...)SELECTCASEWH......
  • 重复的子字符串
    最开始想的是暴力解法,但总是超时,后来问了chatgp,可以通过用substr来缩短时间。勉强通过,耗时还是很大。点击查看代码classSolution{public:boolrepeatedSubstringPattern(strings){intcount=1;stringtemp;while(count<=s.size()/2){temp=s.substr(0,count);......
  • 无涯教程-LISP - 数字(Numbers)
    CommonLisp number数据类型包括LISP支持的各种数字。LISP支持的数字类型是-IntegerRatiosFloatComplex下图显示了LISP中可用的数字层次结构和各种数字数据类型-数字类型下表描述了LISP中可用的各种数字类型数据-Sr.No.Datatype&描述1fixnum此数据类型表示......
  • 反转字符串中的单词
    最开始我是用笨方法解决的,就是新建了一个字符串,不断增加限制条件来实现的。点击查看代码classSolution{public:stringreverseWords(strings){stringtemp;stringcnt;intsz=s.size();intj=0;for(inti=sz-1;i>=0;i--){if(s[i]!=''){temp.push......
  • C++实现文件内查找字符串
    实现概要:读取放入buf后查找匹配的第一个字符然后使用seek()移动文件指针,peek()查看剩余的字符是否匹配如果剩余的字符匹配把该字符串在文件中的位置push进一个vector<int>中再继续查看剩余的文件内容//str2.cpp--capacity()andreserve()#include<iostream>......
  • 设备数字化
    五厂设备数字化一、数据抓取相关通用协议了解:QS、OPC、HTTP/HTTPS/TCP/UDP、websocket1.相机数据获取①BT相机BT上料相机不良数据抓取.py点击查看代码importosfromdatetimeimportdatetime,timedeltaimportpyodbcimportasyncioimportthreadingimportlogging......
  • 【教3妹学编程-算法题】构造限制重复的字符串
    3妹:“太阳当空照,花儿对我笑,小鸟说早早早,你为什么背上炸药包”2哥:3妹,什么事呀这么开森。3妹:2哥你看今天的天气多好啊,最近一周都是大晴天,艳阳高照2哥:是啊,天气不冷不热的,很适合生活3妹:据说南方的小土豆都跑到北方滑雪了,哈哈哈哈2哥:泼水成冰好玩是好玩,但是一定要注意防寒哦,看新闻都有......
  • 源码开发实战:连锁餐饮数字化转型中的点餐小程序
    如今,商家通过引入点餐小程序,不仅可以提高服务速度,还能够增加用户粘性,实现数字化运营的目标。为了实现这一愿景,源码开发成为一种高效的手段。 一、技术选型在开发点餐小程序时,选择合适的技术是关键一环,结合小程序开发框架,实现了前后端分离,提高了开发效率。此外,数据库采用了高性能的......
  • SQL SERVER日期时间转字符串
    SQLSERVER日期时间转字符串一、sql server日期时间函数--当前系统日期、时间selectgetdate()--dateadd在向指定日期加上一段时间的基础上,返回新的datetime值--例如:向日期加上2天selectdateadd(day,2,'2004-10-15')--返回:2004-10-1700:00:00.000--datediff......