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教程 基本语法
Oct 23 PHP
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
Jan 03 PHP
php中计算未知长度的字符串哪个字符出现的次数最多的代码
Aug 14 PHP
php数组一对一替换实现代码
Aug 31 PHP
PHP中source #N问题的解决方法
Jan 27 PHP
CodeIgniter启用缓存和清除缓存的方法
Jun 12 PHP
php之curl设置超时实例
Nov 03 PHP
Codeigniter中集成smarty和adodb的方法
Mar 04 PHP
thinkphp实现附件上传功能
May 26 PHP
PHP文件系统管理(实例讲解)
Sep 19 PHP
PHP基于swoole多进程操作示例
Aug 12 PHP
php抽象方法和普通方法的区别点总结
Oct 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
Win2000+Apache+MySql+PHP4+PERL安装使用小结
2006/10/09 PHP
php类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
利用php + Laravel如何实现部署自动化详解
2017/10/11 PHP
thinkphp框架表单数组实现图片批量上传功能示例
2020/04/04 PHP
[原创]IE view-source 无法查看看源码 JavaScript看网页源码
2009/07/19 Javascript
jQuery总体架构的理解分析
2011/03/07 Javascript
jquery load()在firefox(火狐)下显示不正常的解决方法
2011/04/05 Javascript
IE和Firefox的Javascript兼容性总结[推荐收藏]
2011/10/19 Javascript
jquery获取特定name所有选中的checkbox,支持IE9标准模式
2013/03/18 Javascript
jQuery控制输入框只能输入数值的小例子
2013/03/20 Javascript
js判断一个字符串是否包含一个子串的方法
2015/01/26 Javascript
jquery简单实现网页层的展开与收缩效果
2015/08/07 Javascript
jQuery简单实现提交数据出现loading进度条的方法
2016/03/29 Javascript
Bootstrap 源代码分析(未完待续)
2016/08/17 Javascript
Vue.js计算属性computed与watch(5)
2016/12/09 Javascript
jQuery实现jQuery-form.js实现异步上传文件
2017/04/28 jQuery
详解几十行代码实现一个vue的状态管理
2019/01/28 Javascript
vue基础之事件简写、事件对象、冒泡、默认行为、键盘事件实例分析
2019/03/11 Javascript
javascript自定义加载loading效果
2020/09/15 Javascript
vue.js实现点击图标放大离开时缩小的代码
2021/01/27 Vue.js
[40:55]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#4Newbee VS Fnatic
2016/03/03 DOTA
深入Python解释器理解Python中的字节码
2015/04/01 Python
Django项目开发中cookies和session的常用操作分析
2018/07/03 Python
python实现图片筛选程序
2018/10/24 Python
Python编程在flask中模拟进行Restful的CRUD操作
2018/12/28 Python
浅析Python 读取图像文件的性能对比
2019/03/07 Python
Python时间差中seconds和total_seconds的区别详解
2019/12/26 Python
jupyter 添加不同内核的操作
2021/02/06 Python
德国狗狗用品在线商店:Schecker
2017/03/17 全球购物
Gerry Weber德国官网:优质女性时装,德国最大的时装公司之一
2019/11/02 全球购物
Farfetch中文官网:奢侈品牌时尚购物平台
2020/03/15 全球购物
skyn ICELAND官网:冰岛成分天然护肤品
2020/08/24 全球购物
秋冬农业生产标语
2014/10/09 职场文书
违反交通安全法检讨书
2014/10/24 职场文书
2014年财务工作总结范文
2014/11/11 职场文书
mysql中数据库覆盖导入的几种方式总结
2022/03/25 MySQL