c++ - C++ 中是否有用于在字符串中选取数字的函数
问题描述
我有一个来自 c++ 堆栈的计算器,当我尝试在其上插入一个公式时,例如 1+2*3,我希望我有一个函数可以获取数字,直到每个不是数字的字符。示例 12+2 它会得到 12,然后会跳过 + 因为代码会进入其他部分,然后再次得到数字 2。我做了类似的事情
for(i=0;i++;i<string.size();)
{
if(string[i]<48)
character(string[i]);
else if (string[i]>=48)
number(string[i]);
}
但这效率不高,有人知道它的功能吗?
解决方案
如果它只适用于整数,您可以使用 stdlib 中的常青 atoi() 这是文档https://www.cplusplus.com/reference/cstdlib/atoi/,还有 atof() 和 atol( ) 相同但具有 double 和 long int
推荐阅读
- python - 使用热图从 Whatsapp 中提取数据的问题
- python - 如何检查列表列表是否为空?
- git - 如何在错误的 Git 分支上移动未提交的工作?
- tcp - 为什么在 3 次握手的最后一个 ACK 数据包中 #seq 和 #ack 都设置为 1?
- node.js - GraphicMagick PDF 到 NodeJS 中的 jpeg 黑色图像
- python - python:元组搜索列表
- numpy - u32的numpy数组到二进制bool数组
- node.js - Node.js Mongoose 使用 bcrypt 登录
- java - Java:集合映射中的重复列
- node.js - 如何在我的反应应用程序中从 mongodb 数据库中获取对象的 ID?