如何测试双精度值是否为整数
可以做到这一点吗?
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
}
我知道代码可能不会像那样,但是它是如何进行的呢?
可以做到这一点吗?
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
}
我知道代码可能不会像那样,但是它是如何进行的呢?
或者您可以使用模运算符:
(d % 1) == 0
if ((variable == Math.floor(variable)) && !Double.isInfinite(variable)) {
// integer type
}
这将检查双精度值的舍入值是否与双精度值相同。
变量可以具有整数或双精度值,并且始终具有整数值,因此,如果变量等于,则它必须具有整数值。Math.floor(variable)
Math.floor(variable)
如果变量的值是无限的或负无限的,这也不起作用,因此将“只要变量不是无限的”添加到条件中。