2010-02-27 56 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)来获取数字的小数位;一旦你有这些,你可以只需!他们。