PHP整數取餘返回負數解決方法

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

相關文章
相關標籤/搜索