PHP取余函数介绍MOD(x,y)与x%y


Posted in PHP onMay 15, 2014

取余函数 PHP取余函数 PHP两个取余 MOD(x,y) x%y

MOD

例如:9/3,9是被除数,3为除数.mod函数是一个求余函数,其格式为:
mod(nExp1,nExp2),即是两个数值表达式作除法运算后的余数。那么:两个同号整数求余与你所知的两个正数求余完全一样(即两个负整数与两个正整数的算法一样)。

一、两个异号整数求余

1.函数值符号规律(余数的符号)
mod(负,正)=正
mod(正,负)=负
结论:两个整数求余时,其值的符号为除数的符号。
2.取值规律
先将两个整数看作是正数,再作除法运算
①能整除时,其值为0
②不能整除时,其值=除数×(整商+1)-被除数
例:mod(9,-8)=-7
即:9除以8的整数商为1,加1后为2;其与除数之积为18;再与被数之差为7;取除数的符号。所以值为-7。

二、两个小数求余

取值规律:被除数-(整商×除数)之后在第一位小数位进行四舍五入。
例:mod(9,1.2)=1
即:9除1.2其整商为7;7与除数1.2之积为8.4;8.4四舍五入之后为8;被除数9与8之差为1。故结果为1。
例:mod(9,2.4)=0
即:9除2.2其整商为4;4与除数2.2这积为8.8;8.8四舍五入之后为9;被除数9与9之差为0。故结果为0。
OK,就这些不知能否满足您的需要?
%

<?php
echo 15%4;
//结果是 3

说说php取余运算(%)的那点事

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

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

提问者奇怪,为什么上面输出的记过是44 而不是想象中的45  ,如果你这样:

echo  945%100  //45

那么结果应该是45的,这是因为php默认对变量进行取整进行取余运算的。

关于php浮点数,情况laruence博客文章:http://www.laruence.com/2013/03/26/2884.html

然后看看下面的php代码:

<?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
?>

对于大整数,php会出现溢出,可能返回负数情况(这是因为php默认使用整数取余的,所以你要把它转换成float类型(如上))可以这样做:

function Kmod($bn, $sn)
{
 return intval(fmod(floatval($bn), $sn));
}
PHP 相关文章推荐
PHP设计模式之观察者模式(Observer)详细介绍和代码实例
Apr 08 PHP
thinkphp浏览历史功能实现方法
Oct 29 PHP
PHP实现的简单mock json脚本分享
Feb 10 PHP
PHP的几个常用加密函数
Feb 03 PHP
PHP经典算法集锦【经典收藏】
Sep 14 PHP
php实现有序数组打印或排序的方法【附Python、C及Go语言实现代码】
Nov 10 PHP
ThinkPHP 模板substr的截取字符串函数详解
Jan 09 PHP
PHP递归算法的简单实例
Feb 28 PHP
实例说明js脚本语言和php脚本语言的区别
Apr 04 PHP
Yii框架实现对数据库的CURD操作示例
Sep 03 PHP
PHP连续签到功能实现方法详解
Dec 04 PHP
php远程请求CURL案例(爬虫、保存登录状态)
Apr 01 PHP
php实例分享之通过递归实现删除目录下的所有文件详解
May 15 #PHP
php实例分享之二维数组排序
May 15 #PHP
php表单请求获得数据求和示例
May 15 #PHP
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
May 15 #PHP
ThinkPHP使用心得分享-上传类UploadFile的使用
May 15 #PHP
ThinkPHP使用心得分享-分页类Page的用法
May 15 #PHP
php自定义函数截取汉字长度
May 15 #PHP
You might like
?繁体转换的class
2006/10/09 PHP
PHP转换文本框内容为HTML格式的方法
2016/07/20 PHP
php常用字符串String函数实例总结【转换,替换,计算,截取,加密】
2016/12/07 PHP
用PHP将Unicode 转化为UTF-8的实现方法(推荐)
2017/02/08 PHP
javascript 导出数据到Excel(处理table中的元素)
2009/12/18 Javascript
js过滤数组重复元素的方法
2010/09/05 Javascript
js 单击式的下拉菜单效果实例
2013/08/13 Javascript
使用requestAnimationFrame实现js动画性能好
2015/08/06 Javascript
javascript定义类和类的实现实例详解
2015/12/01 Javascript
H5基于iScroll实现下拉刷新和上拉加载更多
2017/07/18 Javascript
JavaScript解析任意形式的json树型结构展示
2017/07/23 Javascript
View.post() 不靠谱的地方你知道多少
2017/08/29 Javascript
Angular2+如何去除url中的#号详解
2017/12/20 Javascript
Vue2.0 实现移动端图片上传功能
2018/05/30 Javascript
angular4笔记系列之内置指令小结
2018/11/09 Javascript
微信小程序五子棋游戏的悔棋实现方法【附demo源码下载】
2019/02/20 Javascript
vue调用语音播放的方法
2019/09/27 Javascript
Python的Django框架中的数据库配置指南
2015/07/17 Python
Django处理文件上传File Uploads的实例
2018/05/28 Python
python,Django实现的淘宝客登录功能示例
2019/06/12 Python
如何使用python实现模拟鼠标点击
2020/01/06 Python
英国最大的宠物食品和宠物用品网上零售商: Zooplus
2016/08/01 全球购物
Lookfantastic希腊官网:英国知名美妆购物网站
2018/09/15 全球购物
乌克兰的第一家手表店:Deka
2020/03/05 全球购物
高中自我评价分享
2013/12/05 职场文书
办理暂住证介绍信
2014/01/11 职场文书
营销总经理岗位职责
2014/02/02 职场文书
社区两委对照检查材料
2014/08/23 职场文书
倡议书格式
2014/08/30 职场文书
仲裁协议书
2014/09/26 职场文书
公司搬迁通知
2015/04/20 职场文书
2015年数学教师工作总结
2015/05/20 职场文书
2015年暑期见闻
2015/07/14 职场文书
严以律己专题学习研讨会发言材料
2015/11/09 职场文书
python 制作一个gui界面的翻译工具
2021/05/14 Python
Redis keys命令的具体使用
2022/06/05 Redis