在Java中,我们可以将int转换为隐式浮动,这可能会导致精度损失,如下面的示例代码所示。Java允许将int隐式转换为float。为什么?
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);
}
}
输出是
integer value is 2147483647
double value is 2.147483647E9
float value is 2.14748365E9
什么是落后使诚信的隐式转换浮动的原因,当有精度损失?
重复http://stackoverflow.com/questions/11183980/why-does-c-sharp-allow-an-implicit-conversion-from-long-to-float-when-this-co – 2012-08-10 20:02:51
@ AaronKurtzhals:这个问题涉及不同的语言。 – Wug 2012-08-10 20:04:07