Menu
Coddy logo textTech

Type Casting Parte 1

Parte de la sección Fundamentos del Journey de C++ de Coddy. Lección 14 de 74.

La conversión de tipos es el proceso de convertir un valor de un tipo de datos a otro.

En C++, podemos convertir enteros en números de doble precisión, números de doble precisión en enteros y mucho más. Hay dos tipos de conversión de tipos: implícita (automática) y explícita (manual).

Por ejemplo, Integer to Double:

Conversión implícita (automática):

int number = 5;
double decimal = number; // se convierte automáticamente en 5.0

// con cálculo
int x = 7;
double result = x / 2.0; // el resultado es 3.5

Nota: Al dividir dos valores int, C++ realiza una división entera: se descarta la parte decimal. Por ejemplo, 7 / 2 da como resultado 3, no 3.5. Para obtener un resultado decimal, al menos un operando debe ser un double (por ejemplo, 7 / 2.0 da como resultado 3.5).

Conversión explícita (manual) de Double to Integer:

double decimal = 9.7;
int number = (int) decimal;  // se convierte en 9 (la parte decimal se trunca)

// con cálculo
double price = 19.99;
int roundedPrice = (int) price;  // se convierte en 19

Estilo preferido en C++ moderno: En lugar de la conversión de estilo C (int) decimal, es una práctica recomendada usar static_cast<>(), ya que es más segura y expresa con mayor claridad tu intención:

double decimal = 9.7;
int number = static_cast<int>(decimal);  // se convierte en 9 (la parte decimal se trunca)

double price = 19.99;
int roundedPrice = static_cast<int>(price);  // se convierte en 19

Nota: Tanto (int) value como static_cast<int>(value) producen el mismo resultado aquí, pero static_cast<>() es el enfoque recomendado en C++ moderno, ya que hace que la conversión sea claramente visible y el compilador la comprueba.

challenge icon

Desafío

Principiante

Escribe un programa en C++ que demuestre la conversión de tipos. Realiza lo siguiente:

Convierte la variable price a int y almacena el resultado en una nueva variable llamada intPrice.

Pruébalo tú mismo

#include <iostream>

int main() {
    // Declarar e inicializar variables
    double price = 99.99;
    int intPrice = ?; // Casting explícito de double a int
    
    
    // Mostrar los valores
    std::cout << "Price: " << price << std::endl;
    std::cout << "Int Price: " << intPrice << std::endl;
    
    return 0;
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Compilador de C++ online