Type Casting Parte 2
Parte de la sección Fundamentos del Journey de C++ de Coddy — lección 15 de 74.
En C++, podemos convertir números a cadenas y viceversa. Para convertir un valor a cadena, podemos usar la función std::to_string():
int number = 789;
bool isValid = true;
string text1 = to_string(number); // se convierte en "789"
string text2 = isValid ? "true" : "false"; // se convierte en "true"Cuando conviertes un double a un string usando to_string(), mostrará por defecto 6 decimales, incluso si el número original no tiene tantos decimales.
Por ejemplo:
double n1 = 789.0;
string text1 = to_string(n1);
// se convierte en "789.000000"
double n2 = 789.5;
string text2 = to_string(n2);
// se convierte en "789.500000"
double n3 = 789.123;
string text3 = to_string(n3);
// se convierte en "789.123000"Para convertir una cadena a un tipo diferente, tenemos varias opciones:
Cadena a entero:
string numberText = "123";
int number = stoi(numberText); // se convierte en 123String to Double:
string decimalText = "45.67";
double decimal = stod(decimalText); // se convierte en 45.67Nota: Al convertir cadenas a números, estas funciones leen tantos caracteres válidos como sea posible desde el inicio de la cadena. Solo lanzan un error si la cadena comienza con un carácter no válido:
string validStart = "42abc";
int number = stoi(validStart); // se convierte en 42 (se ignoran las letras finales)
string invalidStart = "abc";
int number2 = stoi(invalidStart); // Esto lanzará un errorHoja de referencia
Convierte números a cadenas usando std::to_string():
int number = 789;
string text = to_string(number); // se convierte en "789"La conversión de doubles muestra 6 decimales por defecto:
double n = 789.5;
string text = to_string(n); // se convierte en "789.500000"Convierte cadenas a enteros usando stoi():
string numberText = "123";
int number = stoi(numberText); // se convierte en 123Convierte cadenas a doubles usando stod():
string decimalText = "45.67";
double decimal = stod(decimalText); // se convierte en 45.67Nota: Convertir cadenas no válidas a números lanzará un error.
Pruébalo tú mismo
Esta lección no incluye un desafío de código.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 1
Operadores aritméticosOperador móduloIncremento/DecrementoPost-incremento/decrementoAtajos aritméticosOperadores de comparaciónComparación de strings7Conceptos básicos de Entrada/Salida
Sentencia coutSentencia cinEntrada de cadenasResumen - Hasta 120Resumen - Verdadero o Falso5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 38Calculadora de números
Mensaje de bienvenidaObtención de números3Variables Parte 2
Declaración de tiposConvenciones de nomenclaturaResumen - Inicializar variablesType Casting Parte 1Type Casting Parte 26Toma de decisiones
Sentencia IfIf - ElseSentencia SwitchOperador condicionalRepaso - If ElseIf - Else anidados