mi duda es, aunque el resultado del cálculo en Fahrenheit es de 33,8 cunado se hace el casting de valores se toma como 33, ¿No debería ser 34 por que se ha cerca más al número resultado (33,8)?
mi duda es, aunque el resultado del cálculo en Fahrenheit es de 33,8 cunado se hace el casting de valores se toma como 33, ¿No debería ser 34 por que se ha cerca más al número resultado (33,8)?
Cuando se convierte un número de punto decimal (float o double) a un número entero (int), simplemente se elimina la parte decimal, dejando solo la parte entera. Esto se debe a cómo esta definido la conversión de tipos en muchos lenguajes de programación.
Si deseas redondear un número de punto flotante al entero más cercano, necesitarías usar una función de redondeo específica como Math.round() en Java
int temperaturaCelcius = 1;
float temperaturaFahrenheit = (temperaturaCelcius*1.8) +32;
int fahrenheitSinDecimal = Math.round(temperaturaFahrenheit);
System.out.println(fahrenheitSinDecimal); // Esto imprimirá el número redondeado y no solo eliminara la parte decimal