<?php //php取余运算(%)的那点事,php取余数用%符号,即为模运算 //理论上应该输出45才对,可是实际运算结果是44 $val=9.45; $result=$val*100; echo intval($result); //这里输出944 echo '</br>'; echo $result%100; //这里输出44,因为php默认对变量进行取整进行取余运算的 echo '</br>'; echo fmod(floatval($result),100); //这里输出45 echo '</br>'; //对于大整数,php会出现溢出,可能返回负数情况(这是因为php默认使用整数取余的,所以你要把它转换成float类型(如上))可以这样做 $v = 123123123123; echo $v%5; //这里输出-1 echo '</br>'; echo fmod(floatval($v),5); //这里输出3 echo '</br>'; die; //封装方法,取余 function Kmod($bn, $sn) { //fmod() 函数返回除法的浮点数余数 return intval(fmod(floatval($bn), $sn)); }