1 出現問題緣由: float
PHP語言雖然功能強大,但並不表明其沒有缺點,在編寫代碼的過程當中未免會遇到一些讓人頭痛的問題。PHP是個弱類型語言.他內置了機器來判斷用戶的類型. 可是機器畢竟是機器.也有判斷出錯的時候 方法
PHP整數取餘返回負數的問題是這樣處理的.PHP取餘默認爲整數的.當你定義$res = 16244799483(見3示例);其實就已經溢出了.因此要加上強制類型轉換.變成float類型.可是這樣還不夠.由於%這個取模計算仍是針對整數的. 語言
2 解決方法: 類型轉換
浮點型取餘用數fmod.是針對float類型的
3 示例:
$res = 16244799483;
echo $res%9999999;
// 輸出結果爲 -5069794, 正確的結果應該是4801107
$res = floatval(16244799483);
var_dump(fmod($res,9999999));
// 輸出結果爲 4801107