2010-02-27 90 views

回答

13

修改Rob關於sterofrog評論的代碼。代碼檢查以確保該值也是數字。

function is_round($value) { 
    return is_numeric($value) && intval($value) == $value; 
} 
+0

如果你正在檢查一個數字是否是一個數字,你應該已經證實一個變量實際上是一個數字。 'is_round('bar')=> false'沒有任何意義。 – 2014-08-22 21:24:12

6
function is_round($value) { 
    return intval($value) == $value; 
} 
+0

** @ stereofrog:**怎麼回事? 'intval('bar')!='bar''自'0!='bar''。 – 2010-02-28 00:31:12

+0

@stereofrog:哇...... – 2010-02-28 03:10:18

-1

this page指定的函數由thierryreeuwijk應指定您的需求。

+1

我不完全確定,因爲傳入的變量仍然是「浮動」。或者我錯了,這將工作? – 2010-02-27 22:29:17

-1
if ($value = round($value)) 

應該工作。

1

一個更短的版本:!fmod($num,1)在PHP或這JS:!($num % 1)

爲A(更具可讀性)功能:

function is_round($num) { 
    return !fmod($num, 1); 
} 

這工作,任何數量的不完全0的基礎上, falsey。您可以使用fmod($num,1)來獲取數字的小數位;一旦你有這些,你可以只需!他們。