Menu
CoddyTech

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 punto flotante, números de punto flotante en enteros y 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 un cálculo
int x = 7;
double result = x / 2.0; // result 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 3, no 3.5. Para obtener un resultado decimal, al menos uno de los operandos debe ser un double (p. ej., 7 / 2.0 da 3.5).

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

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

// 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 mejor práctica usar static_cast<>(), 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 (se trunca la parte decimal)

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 verifica.

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 un int y guarda el resultado en una nueva variable llamada intPrice.

Pruébalo tú mismo

    int intPrice = ?; // Conversión explícita de double a int
    
    
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