fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6. import java.math.*;
  7.  
  8. /* Name of the class has to be "Main" only if the class is public. */
  9. class Ideone
  10. {
  11. public static void main (String[] args) throws java.lang.Exception
  12. {
  13. Double dbl0 = 254.9999999999999;
  14. Double dbl1 = 254.99999999999999;
  15.  
  16. test(dbl0);
  17. test(dbl1);
  18. }
  19.  
  20. private static void test(Double dbl)
  21. {
  22. Integer integ = dbl.intValue();
  23. System.out.println("Original double: " + dbl);
  24. System.out.println("Cast to int: " + integ);
  25. System.out.println("Exact double: " + new BigDecimal(dbl).toPlainString());
  26. System.out.println();
  27. }
  28. }
Success #stdin #stdout 0.08s 381184KB
stdin
Standard input is empty
stdout
Original double: 254.9999999999999
Cast to int: 254
Exact double: 254.9999999999998863131622783839702606201171875

Original double: 255.0
Cast to int: 255
Exact double: 255