En Java, podemos convertir un int a float implícitamente, lo que puede dar como resultado la pérdida de precisión como se muestra en el siguiente código de ejemplo.Java permite la conversión implícita de int a float. ¿Por qué?
public class Test {
public static void main(String [] args) {
int intVal = 2147483647;
System.out.println("integer value is " + intVal);
double doubleVal = intVal;
System.out.println("double value is " + doubleVal);
float floatVal = intVal;
System.out.println("float value is " + floatVal);
}
}
La salida es
integer value is 2147483647
double value is 2.147483647E9
float value is 2.14748365E9
¿Cuál es la razón detrás de lo que permite la conversión implícita de int a flotar, cuando hay una pérdida de precisión?
duplicados de http://stackoverflow.com/questions/11183980/why-does-c-sharp-allow-an-implicit-conversion-from-long-to-float-when-this-co –
@ AaronKurtzhals: Esa pregunta se refiere a un idioma diferente. – Wug