Cuando codificas en C++, a veces necesitas convertir un tipo de datos a otro.
Este artículo presentará dos métodos comúnmente utilizados para convertir cadenas a números enteros usando C++.
Antes de aprender métodos, primero debe comprender los tipos de datos de C++.
1. Tipos de datos en C++
El lenguaje de programación C++ tiene algunos tipos de datos integrados:
int
, para números enteros (por ejemplo, 10, 150)double
, para números de coma flotante (por ejemplo, 5.0, 4.5)char
, para un solo carácter (por ejemplo, "D", "!")string
, para secuencias de caracteres (por ejemplo, "Hola")bool
, para valores booleanos (verdadero o falso)
C++ es un lenguaje de programación fuertemente tipado , lo que significa que cuando creas una variable, debes declarar explícitamente qué tipo de valor se almacenará en ella.
2. Cómo convertir una cadena a un número entero
Método 1: utilice la función stoi() para convertir la cadena en un número entero. Este es un enfoque válido y funciona con versiones más nuevas de C++, introducidas a partir de C++ 11. Acepta una cadena como entrada y devuelve su forma entera como salida.
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "7";
cout << "我是一个字符串 " << str << endl;
int num = stoi(str);
cout << "我是一个整数 " << num << endl;
}
Resultado de salida:
soy una cuerda 7
soy un numero entero 7
Método 2: utilice la clase stringstream para convertir la cadena en un número entero. Este enfoque funciona principalmente con versiones anteriores de C++. Lo hace ingresando y emitiendo cadenas.
Primero, necesitas agregar #include <sstream> en la parte superior del programa para incluir la biblioteca sstream.
Luego cree un objeto stringstream que contenga el valor de la cadena que desea convertir a un número entero y utilícelo durante la conversión.
Puede utilizar <<
operadores para extraer cadenas de variables de cadena.
Finalmente, >>
el valor int recién convertido se ingresa en la variable int usando el operador.
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main() {
stringstream ss;
string str = "7";
int num;
ss << str;
ss >> num;
cout << num << endl;
}
Ahora que conoces dos formas sencillas de convertir una cadena en un número entero en C++, puedes probar algunas más.