In Java können wir implizit ein int in float umwandeln, was zu einem Genauigkeitsverlust führen kann, wie im folgenden Beispielcode gezeigt.Java ermöglicht die implizite Konvertierung von int in float. Warum?
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);
}
}
Der Ausgang ist
integer value is 2147483647
double value is 2.147483647E9
float value is 2.14748365E9
Was ist der Grund, implizite Konvertierung von int hinter erlaubt, zu schweben, wenn es ein Verlust an Präzision ist?
Duplizieren von http://stackoverflow.com/questions/11183980/why-does-c-sharp-allow-an-implicit-conversion-from-long-to-float-when-this-co –
@ AaronKurtzhals: Diese Frage betrifft eine andere Sprache. – Wug