1. 程式人生 > >php取餘運算(%) 注意事項

php取餘運算(%) 注意事項

 

 

<?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)); }