Trong Java, chúng ta có thể chuyển đổi int thành float, điều này có thể dẫn đến mất độ chính xác như được hiển thị trong mã ví dụ bên dưới.Java cho phép chuyển đổi ngầm của int sang phao. Tại sao?
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);
}
}
Đầu ra là
integer value is 2147483647
double value is 2.147483647E9
float value is 2.14748365E9
lý do đằng sau cho phép chuyển đổi ngầm của int nổi là gì, khi có một sự mất mát của chính xác?
Bản sao của http://stackoverflow.com/questions/11183980/why-does-c-sharp-allow-an-implicit-conversion-from-long-to-float-when-this-co –
@ AaronKurtzhals: Câu hỏi đó liên quan đến một ngôn ngữ khác. – Wug