21xrx.com
2024-12-22 22:20:16 Sunday
登录
文章检索 我的文章 写文章
C++中如何将字符串转换为数字
2023-06-28 11:55:42 深夜i     --     --
C++ 字符串 转换 数字

在C++中,将字符串转换为数字是一种常见的操作。这通常是因为我们在输入数据时,会以字符串的形式输入,并且需要将其转换为数字才能进行数值运算或者处理。本文将详细介绍在C++中如何将字符串转换为数字。

1. 使用stoi和stol函数

在C++11标准中,提供了两个函数可以将字符串转换为数字:stoi和stol。stoi函数用于将字符串转换为整数,stol函数用于将字符串转换为长整型。

下面是使用stoi和stol函数将字符串转换为数字的示例代码:


#include <iostream>

#include <string>

int main()

{

  std::string str_num = "123";

  int num = std::stoi(str_num);

  std::cout << "num = " << num << std::endl;

  std::string str_long = "123456789012345";

  long long_num = std::stol(str_long);

  std::cout << "long_num = " << long_num << std::endl;

  return 0;

}

2. 使用stringstream

在C++中,我们也可以使用stringstream来将字符串转换为数字。stringstream是一个处理字符串的流对象,可以像使用cout一样方便地向其中插入不同类型的数据。

下面是使用stringstream将字符串转换为数字的示例代码:


#include <iostream>

#include <string>

#include <sstream>

int main()

  std::string str_num = "123";

  std::stringstream ss;

  ss << str_num;

  int num;

  ss >> num;

  std::cout << "num = " << num << std::endl;

  std::string str_long = "123456789012345";

  std::stringstream ss_long;

  ss_long << str_long;

  long long_num;

  ss_long >> long_num;

  std::cout << "long_num = " << long_num << std::endl;

  return 0;

通过上述代码示例可以看到,stringstream可以通过流的输入输出运算符<<和>>来进行字符串和数字之间的转换。将字符串流插入到stringstream对象中,然后使用运算符>>将stringstream对象中的数据从字符类型转换为数字类型,最后存储在相应的变量中。

总结

在C++中,将字符串转换为数字是一个常见的操作。我们可以使用std::stoi和std::stol函数或者stringstream来实现这一操作。使用这些函数可以方便快捷地将字符串转换为数字,避免了手动转换的繁琐操作,提高了代码的可读性和效率。

  
  
下一篇: C++的工作压力

评论区

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