我想将字符串转换为 int,我不是指 ASCII 码。
为了快速浏览,我们以字符串的形式传入一个方程。我们要将其分解,正确格式化并求解线性方程。现在,这么说,我无法将字符串转换为 int。
我知道字符串将采用 (-5) 或 (25) 等格式,所以它绝对是一个 int。但是我们如何从字符串中提取它呢?
我在想的一种方法是在字符串中运行 for/while 循环,检查一个数字,然后提取所有数字,然后查看是否有前导“-”,如果有,将 int 乘以 - 1.
不过,对于这样一个小问题,它似乎有点过于复杂。有任何想法吗?
原文由 Brandon 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 C++11 中有一些不错的新转换函数,从
std::string
到数字类型。所以而不是
您可以使用
其中
str
是您的号码std::string
。有各种数字的版本:
long stol(string)
,float stof(string)
,double stod(string)
,…见 http://en.cppreference.com/w/c /string/basic_string/stol