特别是在 Java 中,如何确定 adouble
是否为整数?为了澄清,我想知道如何确定双精度实际上不包含任何分数或小数。
我主要关心浮点数的性质。我想到的方法(以及我通过谷歌找到的方法)基本上遵循这种格式:
double d = 1.0;
if((int)d == d) {
//do stuff
}
else {
// ...
}
我当然不是浮点数及其行为方面的专家,但我的印象是,因为double
存储的只是数字的近似值,所以if()
条件只会在某些时候输入(甚至在大多数情况下) )。但我正在寻找一种保证 100% 工作的方法,无论double
值如何存储在系统中。
这可能吗?如果是这样,如何以及为什么?