我可以在Java中创建一个if语句,如下所示,确保数字是圆的吗?
if(some number int)
答案 0 :(得分:3)
是
System.out.println(6.0 % 1 == 0);
打印
true
,而
System.out.println(6.1 % 1 == 0);
打印
false
作为浮点数的余数运算的JLS specifies:
在剩余的情况下,无论是无穷大,也不是零,也不涉及NaN,从除数n除以除数d的浮点余数r由数学关系r = n - 定义 - ( d·q)其中q是一个整数,只有当n / d为负时才是负数,只有当n / d为正时才为正,并且其幅度尽可能大而不超过n和d的真数学商的大小。
因此,如果n
是您要测试的数字且d
为1,则对于某个整数r = n - q
,余数r为q
。因此,如果余数r
为0
,则n = q
为某个整数q
,因此您的测试数字n
为整数。
答案 1 :(得分:0)
我想你想检查一个数字是否为int:
public boolean isObjectInteger(Object o) { return o instanceof Integer; }
应该做的工作。
答案 2 :(得分:0)
或者,使用Math.rint
:
if(x == Math.rint(x))