I have a silly question. Why this is giving 488.15999999999997 instead of 488.16
double dbl = 427.14 + 61.02;
System.out.println(dbl);
I heard that we must use BigDecimal if we are considering this much accuracy (like currency related logics). But I want to know what is behind this.