21xrx.com
2024-11-22 09:38:46 Friday
登录
文章检索 我的文章 写文章
C++教程:string 转 int
2023-06-27 16:11:46 深夜i     --     --
C++ string int 转换 教程

C++是一种为编写高性能的软件程序而设计的语言。它拥有强大的库和一些非常方便的功能。string 转 int 就是其中之一。

字符串是一段字符序列。在C++中,字符串使用 string 类来表示。一些算法需要将字符串转换为整数,以进行数学计算或其他操作。在C++中,可以使用 stoi() 函数将字符串转换为整数。

例如,以下代码将字符串 "123" 转换为整数 123:


#include <iostream>

#include <string>

int main()

{

  std::string str = "123";

  int num = std::stoi(str);

  std::cout << num << std::endl; // 输出 123

}

这里的 stoi() 函数需要一个字符串参数。它将字符串解析为整数,并返回它。在上面的示例中,我们将解析后的整数存储在 num 变量中,并使用 std::cout 来打印它。在使用该函数时,请确保字符串是有效的整数,否则将抛出一个 std::invalid_argument 异常。

如果您想要解析带有前导零和符号的数字,可以使用 std::stoi() 的重载版本。例如,以下代码将解析字符串 "010" 和 "-123":


#include <iostream>

#include <string>

int main()

{

  std::string str1 = "010";

  std::string str2 = "-123";

  int num1 = std::stoi(str1, 0, 0);

  int num2 = std::stoi(str2, 0, 0);

  std::cout << "num1: " << num1 << std::endl; // 输出 10

  std::cout << "num2: " << num2 << std::endl; // 输出 -123

}

在这种情况下,您需要指定第二个和第三个参数,以指定基数和符号。'0' 代表基数为 10,而 '+' 和 '-' 分别代表正号和负号。

在C++中,您可以使用 atoi() 和 atof() 等其他函数来转换字符串,但是 stoi() 更安全、更可靠、功能更强大。

总之,在C++中对字符串进行数值转换是一项非常常见的操作。使用 stoi() 函数,您可以轻松地将字符串转换为整数,并进行计算和其他操作。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复