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

首頁 > 語言 > PHP > 正文

PHP取余函數(shù)介紹MOD(x,y)與x%y

2024-09-04 11:43:19
字體:
供稿:網(wǎng)友

php取余數(shù)用%符號,即為模運(yùn)算,取余數(shù)的意思,這玩意使用起來可要注意啦,取余函數(shù) PHP取余函數(shù) PHP兩個取余 MOD(x,y) x%y

MOD

例如:9/3,9是被除數(shù),3為除數(shù).mod函數(shù)是一個求余函數(shù),其格式為:

mod(nExp1,nExp2),即是兩個數(shù)值表達(dá)式作除法運(yùn)算后的余數(shù)。那么:兩個同號整數(shù)求余與你所知的兩個正數(shù)求余完全一樣(即兩個負(fù)整數(shù)與兩個正整數(shù)的算法一樣)。

一、兩個異號整數(shù)求余

1.函數(shù)值符號規(guī)律(余數(shù)的符號)

mod(負(fù),正)=正

mod(正,負(fù))=負(fù)

結(jié)論:兩個整數(shù)求余時,其值的符號為除數(shù)的符號。

2.取值規(guī)律

先將兩個整數(shù)看作是正數(shù),再作除法運(yùn)算

①能整除時,其值為0

②不能整除時,其值=除數(shù)×(整商+1)-被除數(shù)

例:mod(9,-8)=-7

即:9除以8的整數(shù)商為1,加1后為2;其與除數(shù)之積為18;再與被數(shù)之差為7;取除數(shù)的符號。所以值為-7。

二、兩個小數(shù)求余

取值規(guī)律:被除數(shù)-(整商×除數(shù))之后在第一位小數(shù)位進(jìn)行四舍五入。

例:mod(9,1.2)=1

即:9除1.2其整商為7;7與除數(shù)1.2之積為8.4;8.4四舍五入之后為8;被除數(shù)9與8之差為1。故結(jié)果為1。

例:mod(9,2.4)=0

即:9除2.2其整商為4;4與除數(shù)2.2這積為8.8;8.8四舍五入之后為9;被除數(shù)9與9之差為0。故結(jié)果為0。

OK,就這些不知能否滿足您的需要?

%

代碼如下:

  1. echo 15%4; 
  2. //結(jié)果是 3 

說說php取余運(yùn)算(%)的那點(diǎn)事

今天我是看到百度知道中這個例子:http://zhidao.baidu.com/question/41130500.html ,才想研究下php取余的!

代碼如下:

  1. <?php 
  2.    $val=9.45; 
  3.    $result=$val*100; 
  4.    echo $result%100;  //44 
  5. ?> 

提問者奇怪,為什么上面輸出的記過是44 而不是想象中的45,如果你這樣:

echo  945%100  //45

那么結(jié)果應(yīng)該是45的,這是因?yàn)閜hp默認(rèn)對變量進(jìn)行取整進(jìn)行取余運(yùn)算的。

關(guān)于php浮點(diǎn)數(shù),情況laruence博客文章:http://www.laruence.com/2013/03/26/2884.html

然后看看下面的php代碼:

  1. <?php 
  2. /* 
  3.  * name: mckee 
  4.  * blog: http://www.survivalescaperooms.com 
  5.  */ 
  6. $val=9.45; 
  7. $result=$val*100; 
  8. echo intval($result);   //這里輸出944 
  9. echo $result%100;    //這里輸出44 
  10. echo fmod(floatval($result),100);  //這里輸出45 
  11. ?> 

對于大整數(shù),php會出現(xiàn)溢出,可能返回負(fù)數(shù)情況(這是因?yàn)閜hp默認(rèn)使用整數(shù)取余的,所以你要把它轉(zhuǎn)換成float類型(如上))可以這樣做:

  1. function Kmod($bn$sn
  2.  return intval(fmod(floatval($bn), $sn)); 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 吉安市| 宜川县| 安福县| 利辛县| 佳木斯市| 五指山市| 义马市| 成安县| 吉隆县| 台北市| 大洼县| 温州市| 黄浦区| 陆良县| 会昌县| 九台市| 福海县| 安多县| 邵阳市| 麻江县| 乌拉特后旗| 婺源县| 大洼县| 茌平县| 东乡族自治县| 大厂| 万荣县| 巴里| 华容县| 塘沽区| 马鞍山市| 宝兴县| 保山市| 鹰潭市| 山西省| 庆阳市| 平陆县| 丰镇市| 上虞市| 诏安县| 屏边|