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下将XML转换为数组
Jan 01 PHP
PHP中10个不常见却非常有用的函数
Mar 21 PHP
php操作MongoDB基础教程(连接、新增、修改、删除、查询)
Mar 25 PHP
PHP 前加at符合@的作用解析
Jul 31 PHP
yii2框架中使用下拉菜单的自动搜索yii-widget-select2实例分析
Jan 09 PHP
PHP连接MSSQL方法汇总
Feb 05 PHP
php封装的数据库函数与用法示例【参考thinkPHP】
Nov 08 PHP
PHP实现简单ajax Loading加载功能示例
Dec 28 PHP
PHP实现限制IP访问的方法
Apr 20 PHP
PHP实现将多个文件中的内容合并为新文件的方法示例
Jun 10 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
Dec 21 PHP
Laravel框架使用技巧之使用url()全局函数返回前一个页面的地址方法详解
Apr 06 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
PHP下escape解码函数的实现方法
2010/08/08 PHP
php中3种方法统计字符串中每种字符的个数并排序
2012/08/27 PHP
php实现文件编码批量转换
2014/03/10 PHP
关于B/S判断浏览器断开的问题讨论
2008/10/29 Javascript
利用js(jquery)操作Cookie的方法说明
2013/12/19 Javascript
node爬取微博的数据的简单封装库nodeweibo使用指南
2015/01/02 Javascript
JQuery实现的购物车功能(可以减少或者添加商品并自动计算价格)
2015/01/13 Javascript
angularJS 中$attrs方法使用指南
2015/02/09 Javascript
chrome不支持form.submit的解决方案
2015/04/28 Javascript
jquery插件hiAlert实现网页对话框美化
2015/05/03 Javascript
jQuery实现仿Alipay支付宝首页全屏焦点图切换特效
2015/05/04 Javascript
JavaScript实现表格点击排序的方法
2015/05/11 Javascript
jQuery实现邮箱下拉列表自动补全功能
2016/09/08 Javascript
Vue.js常用指令汇总(v-if、v-for等)
2016/11/03 Javascript
xmlplus组件设计系列之路由(ViewStack)(7)
2017/05/02 Javascript
JavaScript闭包原理与用法实例分析
2018/08/10 Javascript
angular使用md5,CryptoJS des加密的方法
2019/06/03 Javascript
JavaScript Event Loop相关原理解析
2020/06/10 Javascript
Python实现合并字典的方法
2015/07/07 Python
在Windows系统上搭建Nginx+Python+MySQL环境的教程
2015/12/25 Python
Python中函数参数设置及使用的学习笔记
2016/05/03 Python
python re模块的高级用法详解
2018/06/06 Python
Python画柱状统计图操作示例【基于matplotlib库】
2018/07/04 Python
python实现弹窗祝福效果
2019/04/07 Python
Python实现字符型图片验证码识别完整过程详解
2019/05/10 Python
简单介绍django提供的加密算法
2019/12/18 Python
详解css3 flex弹性盒自动铺满写法
2020/09/17 HTML / CSS
HTML5: Web 标准最巨大的飞跃
2008/10/17 HTML / CSS
美国波西米亚风格服装品牌:Show Me Your Mumu
2018/01/05 全球购物
Sasa莎莎海外旗舰店:香港莎莎美妆平台
2018/03/21 全球购物
菲律宾票务网站:StubHub菲律宾
2018/04/21 全球购物
兰蔻英国官网:Lancome英国
2019/04/30 全球购物
俄罗斯皮肤健康中心:Pharmacosmetica.ru
2020/02/22 全球购物
最新党员思想汇报
2014/01/01 职场文书
五型班组建设方案
2014/02/10 职场文书
MySQL的表级锁,行级锁,排它锁和共享锁
2022/07/15 MySQL