Java如何测试双精度数是否为整数
是否有可能做到这一点?
double variable;variable = 5;
/* the below should return true, since 5 is an int.
if variable were to equal 5.7, then it would return false. */
if(variable == int) {
//do stuff
}
我知道代码可能不会去这样的事情,但怎么也去了?
回答:
if ((variable == Math.floor(variable)) && !Double.isInfinite(variable)) { // integer type
}
这将检查双精度值的四舍五入值是否与双精度值相同。
你的变量可能具有int
或double
值,并且Math.floor(variable)
始终具有int值,因此,如果你的变量等于,Math.floor(variable)
则它必须具有int值。
如果变量的值是无穷大或负无穷大,那么这也不起作用,因此向条件添加“只要变量不是无穷大”。
以上是 Java如何测试双精度数是否为整数 的全部内容, 来源链接: utcz.com/qa/421160.html