小编典典

如何将 std::string 转换为 int?

all

我想将字符串转换为 int,我不是指 ASCII 码。

为了快速浏览,我们以字符串的形式传入一个方程。我们要将其分解,正确格式化并求解线性方程。现在,这么说,我无法将字符串转换为 int。

我知道字符串将采用 (-5) 或 (25) 等格式,所以它绝对是一个 int。但是我们如何从字符串中提取它呢?

我在想的一种方法是在字符串中运行 for/while 循环,检查一个数字,然后提取所有数字,然后查看是否有前导“-”,如果有,将 int 乘以 - 1.

不过,对于这样一个小问题,它似乎有点过于复杂。有任何想法吗?


阅读 263

收藏
2022-03-04

共1个答案

小编典典

在 C++11 中有一些不错的新转换函数 from std::stringto a number 类型。

所以而不是

atoi( str.c_str() )

您可以使用

std::stoi( str )

str你的号码在哪里std::string

有各种数字的版本: long stol(string), float stof(string), double stod(string),…
http://en.cppreference.com/w/cpp/string/basic_string/stol

2022-03-04