最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2014年05月15日 17:51:14   作者:  
php取余數(shù)用%符號,即為模運算,取余數(shù)的意思,這玩意使用起來可要注意啦

取余函數(shù) PHP取余函數(shù) PHP兩個取余 MOD(x,y) x%y

MOD

例如:9/3,9是被除數(shù),3為除數(shù).mod函數(shù)是一個求余函數(shù),其格式為:
mod(nExp1,nExp2),即是兩個數(shù)值表達式作除法運算后的余數(shù)。那么:兩個同號整數(shù)求余與你所知的兩個正數(shù)求余完全一樣(即兩個負整數(shù)與兩個正整數(shù)的算法一樣)。

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

1.函數(shù)值符號規(guī)律(余數(shù)的符號)
mod(負,正)=正
mod(正,負)=負
結(jié)論:兩個整數(shù)求余時,其值的符號為除數(shù)的符號。
2.取值規(guī)律
先將兩個整數(shù)看作是正數(shù),再作除法運算
①能整除時,其值為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ù)位進行四舍五入。
例: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,就這些不知能否滿足您的需要?
%

復(fù)制代碼 代碼如下:

<?php
echo 15%4;
//結(jié)果是 3


說說php取余運算(%)的那點事

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

復(fù)制代碼 代碼如下:

<?php
   $val=9.45;
   $result=$val*100;
   echo $result%100;  //44
?>

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

echo  945%100  //45

那么結(jié)果應(yīng)該是45的,這是因為php默認對變量進行取整進行取余運算的。

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

然后看看下面的php代碼:

復(fù)制代碼 代碼如下:

<?php
/*
 * name: mckee
 * blog: http://www.phpddt.com
 */
$val=9.45;
$result=$val*100;
echo intval($result);   //這里輸出944
echo $result%100;    //這里輸出44
echo fmod(floatval($result),100);  //這里輸出45
?>

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

復(fù)制代碼 代碼如下:

function Kmod($bn, $sn)
{
 return intval(fmod(floatval($bn), $sn));
}

相關(guān)文章

最新評論

民乐县| 通化市| 冷水江市| 资兴市| 安吉县| 巴彦县| 介休市| 泾阳县| 富源县| 云龙县| 宁陵县| 正镶白旗| 赤壁市| 贞丰县| 吉安市| 迁西县| 九龙县| 本溪市| 昌黎县| 鹤庆县| 漳州市| 荥经县| 盐城市| 郧西县| 秀山| 海伦市| 信宜市| 方山县| 宣城市| 西峡县| 香格里拉县| 吴江市| 平邑县| 玛多县| 疏勒县| 涿鹿县| 洪洞县| 灵寿县| 鄂尔多斯市| 惠州市| 从化市|