php判断是否整除的时候,可以使用%取余然后判断余数是不是为0,或者使用fmod()函数,但是如果是小数的情况就不能适用了,稍微的总结一下下面三种方法,抛砖引玉,如果有不正确的还请大家更正:
第一种方法,比较好理解小数相除得到的结果是float类型,即使是4/0.4=10得到的10其实也不是int型,这样以来适用is_int()判断肯定是不行的,所以如下,两次相除之后其中一个强制转换为int之后判断两者是否相等,注意不要使用===或者!==因为这两个判断会连带数据类型一起判断:
if (1.5/0.4 != (int)(1.5/0.4)) {
echo '不能整除';
}
第二种方法,也比较好理解看下面:
$a=1.5;
$b=0.5;
$r=$a/$b;
if((number_format($s)-$s)!=0){
echo "不能整除";
}
第三种方法:
$a=1.5;
$b=0.5;
$r=$a/$b;
$is_int =($r-floor($r)>0)?false:true;
三种方法我比较喜欢第一种,相对比较容易理解
我的微信:graent_hu
欢迎扫码加我的微信好友,有什么问题我们可以一起探讨,有什么需要也随时欢迎发消息给我~
转载请注明出处:
本文链接:https://www.wlyc.cn/post-46.html