国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP整數取余返回負數的相關解決方法

2024-05-04 23:23:44
字體:
來源:轉載
供稿:網友

PHP語言雖然功能強大,但并不代表其沒有缺點,在編寫代碼的過程中未免會遇到一些讓人頭痛的問題。下面我們將為大家介紹有關PHP整數取余返回負數的解決辦法。

我們先來看個例子.

復制代碼 代碼如下:


$res = 16244799483;
echo $res%9999999;
// 輸出結果為 -5069794, 正確的結果應該是4801107

其實這也算上PHP一個BUG吧.最主要是PHP是個弱類型語言.他內置了機器來判斷用戶的類型.

但是機器畢竟是機器.也有判斷出錯的時候.就像上面.所以這時候我們就需要人工干預下.

所以我就想到要用下面的方法來解決PHP整數取余返回負數的問題.

復制代碼 代碼如下:


$res = floatval(16244799483);
var_dump($res % 9999999);

我們看到結果還是錯誤的-5069794.

但是值得注意的是返回是一個int類型的.

詳細思考了一下.PHP整數取余返回負數的問題是這樣處理的.

PHP取余默認為整數的.

而且當你定義$res = 16244799483;

其實就已經溢出了.所以要加上強制類型轉換.變成float類型.

但是這樣還不夠.因為%這個取模計算還是針對整數的.

所以我們需要一個函數fmod.是針對float類型的.

所以最終PHP整數取余返回負數的解決辦法為:

復制代碼 代碼如下:


$res = floatval(16244799483);
var_dump(fmod($res,9999999));

這樣我們就解決了PHP整數取余返回負數這個問題.:)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 松桃| 永新县| 汤阴县| 新龙县| 聊城市| 盐城市| 日喀则市| 玉田县| 钟祥市| 新闻| 江川县| 环江| 亚东县| 永胜县| 郁南县| 雅安市| 开封市| 汾阳市| 太和县| 交口县| 北海市| 江山市| 千阳县| 东宁县| 花莲市| 新宁县| 阿拉尔市| 肇庆市| 台南市| 晋江市| 万年县| 惠安县| 怀安县| 龙游县| 温泉县| 永福县| 眉山市| 榆林市| 临沧市| 桐梓县| 南木林县|