21xrx.com
2025-03-24 00:38:00 Monday
文章检索 我的文章 写文章
C++实现字符串转数字
2023-07-09 20:21:49 深夜i     11     0
C++ 字符串 转换 数字

C++是一种流行的编程语言,广泛应用于各种领域的软件开发。在C++编程中,经常需要将字符串转换成数字,以便执行各种数值计算操作。以下是一些常用的方法来实现字符串转数字的过程:

1. 使用C++标准库函数

C++的标准库函数提供了许多可以将字符串转换为数字的函数。其中,最主要的函数包括:

- atoi():将字符串转换成int类型的数值。

- atof():将字符串转换成double类型的数值。

- strtol():将字符串转换成long类型的数值。

- strtoul():将字符串转换成unsigned long类型的数值。

这些函数非常方便易用,只需要将需要转换的字符串作为参数传入即可。例如:

#include<iostream>
#include<cstdlib>
using namespace std;
int main() {
  string str = "12345";
  int num = atoi(str.c_str());
  cout << "转换后:" << num << endl;
  return 0;
}

运行结果:

转换后:12345

2. 自己编写字符串转数字函数

在某些情况下,我们可能需要自己编写函数来实现字符串转数字的功能。这时需要通过遍历字符串,将每一个字符转换为数字,并将其组合成最终的数值。例如,将字符串转换成int类型的函数如下:

#include<iostream>
using namespace std;
int strToInt(string str) {
  int num = 0;
  int begin = 0;
  if (str[0] == '-')
    begin = 1;
  
  for (int i = begin; i < str.size(); i++) {
    num = num * 10 + (str[i] - '0');
  }
  if (str[0] == '-')
    num = -num;
  
  return num;
}
int main() {
  string str = "-12345";
  int num = strToInt(str);
  cout << "转换后:" << num << endl;
  return 0;
}

运行结果:

转换后:-12345

总之,C++中实现字符串转数字的方法有很多种,可以根据实际需求选择不同的方法。在实际应用中,需要根据数据类型、数据范围以及运行效率等因素进行选择。

  
  

评论区