给定一个名为 sizeValue
且 sizeValue
包含非 0 的 double 变量,确定 sizeValue
包含的最有效方法是什么值是整数吗?
目前我正在使用
大小值 % 1 == 0
还有其他更快的方法吗?
最佳答案
尝试Math.ceil :
private static boolean isInt(double x) {
return x == Math.ceil(x);
}
编辑
我用以下方法做了一些基准测试:
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
是其中较快的(在 sunjre 1.6 上)
关于java - 确定十进制值的最快最有效的方法是 Java 中的整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1575052/