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 相关文章推荐
如何使用脚本模仿登陆过程
Nov 22 PHP
PHP面向对象编程快速入门
Dec 14 PHP
phpMyAdmin 链接表的附加功能尚未激活的问题
Aug 01 PHP
PHP中Session引起的脚本阻塞问题解决办法
Apr 08 PHP
PHP魔术方法的使用示例
Jun 23 PHP
WordPres对前端页面调试时的两个PHP函数使用小技巧
Dec 22 PHP
Laravel实现表单提交
May 07 PHP
PHP实现的自定义图像居中裁剪函数示例【测试可用】
Aug 11 PHP
php静态成员方法和静态的成员属性的使用方法
Oct 26 PHP
PHP连接SQL Server的方法分析【基于thinkPHP5.1框架】
May 06 PHP
php中try catch捕获异常实例详解
Aug 06 PHP
PHP ob缓存以及ob函数原理实例解析
Nov 13 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
基于curl数据采集之正则处理函数get_matches的使用
2013/04/28 PHP
WordPress的主题编写中获取头部模板和底部模板
2015/12/28 PHP
超级简单的图片防盗(HTML),好用
2007/04/08 Javascript
jquery api参考 visualjquery 中国线路 速度快
2007/11/30 Javascript
js跨域和ajax 跨域问题的实现思路
2009/09/05 Javascript
JavaScript 字符串处理函数使用小结
2010/12/02 Javascript
Dreamweaver jQuery智能提示插件,支持版本提示,支持1.6api
2011/07/31 Javascript
jQuery Ajax 仿AjaxPro.Utility.RegisterTypeForAjax辅助方法
2011/09/27 Javascript
jQuery EasyUI API 中文文档 - Form表单
2011/10/06 Javascript
Java 正则表达式学习总结和一些小例子
2012/09/13 Javascript
jQuery操作cookie
2016/08/08 Javascript
js实现带简单弹性运动的导航条
2017/02/22 Javascript
jquery.validate.js 多个相同name的处理方式
2017/07/10 jQuery
IScroll那些事_当内容不足时下拉刷新的解决方法
2017/07/18 Javascript
微信小程序 动画的简单实例
2017/10/12 Javascript
fullpage.js最后一屏滚动方式
2018/02/06 Javascript
微信小程序如何获取用户收货地址
2018/11/27 Javascript
vue.js多页面开发环境搭建过程
2019/04/24 Javascript
24行JavaScript代码实现Redux的方法实例
2019/11/17 Javascript
Javascript作用域和作用域链原理解析
2020/03/03 Javascript
Vue 打包体积优化方案小结
2020/05/20 Javascript
python刷投票的脚本实现代码
2014/11/08 Python
python实现泊松图像融合
2018/07/26 Python
python使用for循环计算0-100的整数的和方法
2019/02/01 Python
Python实现简单查找最长子串功能示例
2019/02/26 Python
利用python numpy+matplotlib绘制股票k线图的方法
2019/06/26 Python
Python同时迭代多个序列的方法
2020/07/28 Python
使用CSS3和Checkbox实现JQuery的一些效果
2015/08/03 HTML / CSS
荷兰网上买鞋:MooieSchoenen.nl
2017/09/12 全球购物
九年级家长会邀请函
2014/01/15 职场文书
好人好事事迹材料
2014/02/12 职场文书
质量管理标语
2014/06/12 职场文书
庆祝教师节主持词
2015/07/06 职场文书
Python 实现定积分与二重定积分的操作
2021/05/26 Python
了解Redis常见应用场景
2021/06/23 Redis
Spring 使用注解开发
2022/05/20 Java/Android