提问人:Pekka 提问时间:2/28/2010 更新时间:8/23/2014 访问量:2899
在PHP中检测整数?
Detect round number in PHP?
问:
如何确定 PHP 中的浮点数是否为整数?
is_round(1.5); // false
is_round(1.0); // true
is_round(1.00000001); // false
答:
6赞
Rob
2/28/2010
#1
function is_round( $value ) {
return intval( $value ) == $value;
}
评论
0赞
Alix Axel
2/28/2010
@stereofrog:怎么会这样? 因为。intval('bar') != 'bar'
0 != 'bar'
-1赞
Traveling Tech Guy
2/28/2010
#2
thierryreeuwijk 在此页面上指定的功能应指定您的需求。
评论
1赞
Pekka
2/28/2010
我不完全确定,因为传入的变量仍然是一个.还是我弄错了,这会起作用?float
15赞
John Himmelman
2/28/2010
#3
修改了 Rob 关于 sterofrog 评论的代码。代码检查以确保该值也是数字。
function is_round($value) {
return is_numeric($value) && intval($value) == $value;
}
评论
0赞
fregante
8/23/2014
如果你正在检查一个数字是否是四舍五入的,你应该已经验证了一个变量实际上是一个数字。 没有任何意义。is_round('bar') => false
-1赞
Theodore Cowan
10/28/2013
#4
if ($value = round($value))
应该有效。
2赞
fregante
8/23/2014
#5
一个更短的版本:在PHP中或JS中:!fmod($num,1)
!($num % 1)
作为(更具可读性的)函数:
function is_round( $num ) {
return !fmod($num, 1);
}
这是基于任何不完全为 0 的数字都是假的。您可以使用来获取数字的小数点后;一旦你拥有了这些,你就可以只拥有它们。fmod($num,1)
!
评论