Convertir un string a un numero en C++
La conversión de cadenas a números es una tarea común en programación, y en C++, hay varias maneras de lograrlo. En este artículo, exploraremos diferentes métodos para convertir un string a un número y proporcionaremos ejemplos prácticos para cada uno de ellos.
1. stoi()
La función stoi convierte un string a un número entero (int).
#include <iostream>
#include <string>
int main() {
std::string miCadena = "123";
int numero = std::stoi(miCadena);
std::cout << "Número convertido: " << numero << std::endl;
return 0;
}
2. stof()
Si necesitas convertir un string a un número de punto flotante puedes utilizar la función stof.
#include <iostream>
#include <string>
int main() {
std::string miCadena = "3.14";
float numero = std::stof(miCadena);
std::cout << "Número convertido: " << numero << std::endl;
return 0;
}
3. stod()
Similar a stof, pero para números de doble precisión (double).
#include <iostream>
#include <string>
int main() {
std::string miCadena = "2.71828";
double numero = std::stod(miCadena);
std::cout << "Número convertido: " << numero << std::endl;
return 0;
}
4. stoi(), con conversión base
Puedes usar stoi con un segundo parámetro para especificar la base de la conversión.
#include <iostream>
#include <string>
int main() {
std::string miCadena = "1A"; // Hexadecimal
int numero = std::stoi(miCadena, 0, 16);
std::cout << "Número convertido: " << numero << std::endl;
return 0;
}
Estos métodos proporcionan formas flexibles y robustas de convertir strings a números en C++. Elige el que mejor se adapte a tus necesidades.