के बीच प्रकार कास्टिंग मैं इस कोडअप्रत्याशित परिणाम हो रही है लंबे और डबल
public class LimitTest{
public static void main(String[] args){
long l;
double d;
l = 9223372036854775807L;// The largest number a long can hold.
d = l;
System.out.println(l);
System.out.println(d);
System.out.println(l == d);
}
}
अब जब, परिणाम यह पैदा करता थोड़े अप्रत्याशित है, लेकिन फिर से, मैं बहुत प्रकार रूपांतरण के साथ अनुभव नहीं कर रहा हूँ।
आउटपुट
9223372036854775807
9.223372036854776E18
true
अब, मुद्रित दो नंबर स्पष्ट रूप से कर रहे हैं बराबर नहीं, तो क्यों करता है l == d
वापसी true
?