2015-10-02 260 views

回答

3

System.out.println(6.0 % 1 == 0); 

打印

true 

System.out.println(6.1 % 1 == 0); 

打印

false 

作爲JLS specifies爲浮點數的餘數運算:

在其餘的情況下,如果既沒有無窮大,也不是零,也不NaN被涉及,從除法浮點餘數r由除數d的除數n由數學關係式r = n - (d·q)定義,其中q是僅當n/d爲負時爲負的整數,並且僅當n/d爲正時爲正,且其爲量級儘可能大而不超過n和d的真實數學商數的大小。

因此,如果n是要測試的數量和d爲1,餘數r爲r = n - q一些整數q。因此,如果剩餘的r0n = q對於某些整數q,那麼您的測試號n是一個整數。

0

我猜你要檢查,如果一個號碼是一個int:

public boolean isObjectInteger(Object o) { return o instanceof Integer; } 

應該做的工作。

+0

此檢查如果對象是Integer類的,我不認爲這是他想要的... –

0

另外,使用Math.rint

if(x == Math.rint(x)) 
+0

謝謝大家和抱歉,我的第一個解釋。 –