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 相关文章推荐
Ajax PHP分页演示
Jan 02 PHP
PHP 中dirname(_file_)讲解
Mar 18 PHP
PHP+Tidy-完美的XHTML纠错+过滤
Apr 10 PHP
PHP删除数组中空值的方法介绍
Apr 14 PHP
纯PHP生成的一个树叶图片画图例子
Apr 16 PHP
thinkphp四种url访问方式详解
Nov 28 PHP
PHP获取文件行数的方法
Jun 10 PHP
EarthLiveSharp中cloudinary的CDN图片缓存自动清理python脚本
Apr 04 PHP
PHP编程实现微信企业向用户付款的方法示例
Jul 26 PHP
PHP双向链表定义与用法示例
Jan 31 PHP
PHP以json或xml格式返回请求数据的方法
May 31 PHP
如何在Mac上通过docker配置PHP开发环境
May 29 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
详细介绍:Apache+PHP+MySQL配置攻略
2006/09/05 PHP
如何用php获取文件名后缀
2013/06/09 PHP
CI框架安全类Security.php源码分析
2014/11/04 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
解决表单中第一个非隐藏的元素获得焦点的一个方案
2009/10/26 Javascript
js限制文本框为整数和货币的函数代码
2010/10/13 Javascript
jquery使用append(content)方法注意事项分享
2014/01/06 Javascript
让jQuery Mobile不显示讨厌loading界面的方法
2014/02/19 Javascript
js 显示base64编码的二进制流网页图片
2014/04/04 Javascript
javascript判断移动端访问设备并解析对应CSS的方法
2015/02/05 Javascript
浅谈Javascript中Object与Function对象
2015/09/26 Javascript
JS实现的仿东京商城菜单、仿Win右键菜单及仿淘宝TAB特效合集
2015/09/28 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖动基本操作
2015/11/30 Javascript
js命名空间写法示例
2015/12/18 Javascript
限制文本框只能输入数字||只能是数字和小数点||只能是整数和浮点数
2016/05/27 Javascript
详细谈谈javascript的对象
2016/07/31 Javascript
Angular 中 select指令用法详解
2016/09/29 Javascript
使用Javascript判断浏览器终端设备(PC、IOS(iphone)、Android)
2017/01/04 Javascript
AngularJS实现单一页面内设置跳转路由的方法
2017/06/28 Javascript
jQuery简单实现向列表动态添加新元素的方法示例
2017/12/25 jQuery
深入了解JavaScript 私有化
2019/05/30 Javascript
antd form表单数据回显操作
2020/11/02 Javascript
python抽象基类用法实例分析
2015/06/04 Python
Python正则表达式教程之二:捕获篇
2017/03/02 Python
python自动化实现登录获取图片验证码功能
2019/11/20 Python
在tensorflow实现直接读取网络的参数(weight and bias)的值
2020/06/24 Python
CSS3中使用RGBA设置透明度的示例
2015/08/04 HTML / CSS
十佳班主任事迹材料
2014/01/18 职场文书
四风存在的原因分析
2014/02/11 职场文书
2015年简历自我评价范文
2015/03/11 职场文书
优秀学生主要事迹怎么写
2015/11/04 职场文书
小学作文指导之如何写人?
2019/07/08 职场文书
golang 语言中错误处理机制
2021/08/30 Golang
Python Matplotlib库实现画局部图
2021/11/17 Python
PHP 时间处理类Carbon
2022/05/20 PHP
JS轻量级函数式编程实现XDM二
2022/06/16 Javascript