Fastest most efficient way to determine decimal value is integer in Java

java, primitive

Solution

give a try to Math.ceil:

private static boolean isInt(double x) {
     return x == Math.ceil(x);
}

EDIT

I've done some benchmarks with the following methods:

private static boolean isInt1(double x) {
    return x == (int) x;
}

private static boolean isInt2(double x) {
    return x == Math.ceil(x);
}

private static boolean isInt3(double x) {
    return x % 1 == 0;
} 

`isInt1` is the faster of them (on a sunjre 1.6)

Problem

Given a double variable named `sizeValue` and `sizeValue` contains something other than 0, what is the most efficient way to determine that `sizeValue` contains a value that is an integer? Currently i'm using sizeValue % 1 == 0 any other faster ways?

Original source