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 相关文章推荐
phpBB BBcode处理的漏洞
Oct 09 PHP
PHP截取汉字乱码问题解决方法mb_substr函数的应用
Mar 30 PHP
PHP遍历XML文档所有节点的方法
Mar 12 PHP
分享PHP源码批量抓取远程网页图片并保存到本地的实现方法
Dec 01 PHP
简单了解将WordPress中的工具栏移到底部的小技巧
Dec 31 PHP
php基于websocket搭建简易聊天室实践
Oct 24 PHP
简单实现PHP留言板功能
Dec 21 PHP
基于PHP实现栈数据结构和括号匹配算法示例
Aug 10 PHP
php fread函数使用方法总结
May 28 PHP
php设计模式之装饰模式应用案例详解
Jun 17 PHP
php连接mysql数据库最简单的实现方法
Sep 24 PHP
TP5框架页面跳转样式操作示例
Apr 05 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中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
2011/11/26 PHP
PHP连接Access数据库的方法小结
2013/06/20 PHP
php分页函数完整实例代码
2014/09/22 PHP
Yii实现自动加载类地图的方法
2015/04/01 PHP
Aster vs Newbee BO5 第三场2.19
2021/03/10 DOTA
JS 中document.URL 和 windows.location.href 的区别
2009/11/11 Javascript
js中函数调用的两种常用方法使用介绍
2014/07/17 Javascript
尝试动手制作javascript放大镜效果
2015/12/25 Javascript
jQuery实现用户输入自动完成功能
2017/02/13 Javascript
ES6教程之for循环和Map,Set用法分析
2017/04/10 Javascript
vue中添加mp3音频文件的方法
2018/03/02 Javascript
在vue中解决提示警告 for循环报错的方法
2018/09/28 Javascript
TypeScript基础入门教程之三重斜线指令详解
2018/10/22 Javascript
原生js实现日历效果
2020/03/02 Javascript
解决Vue-Router升级导致的Uncaught (in promise)问题
2020/08/07 Javascript
解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题
2020/09/02 Javascript
Python实现发送email的几种常用方法
2014/08/18 Python
python获取当前用户的主目录路径方法(推荐)
2017/01/12 Python
django中静态文件配置static的方法
2018/05/20 Python
基于pycharm导入模块显示不存在的解决方法
2018/10/13 Python
Python3.5装饰器原理及应用实例详解
2019/04/30 Python
使用Python进行体育竞技分析(预测球队成绩)
2019/05/16 Python
在pytorch中查看可训练参数的例子
2019/08/18 Python
python爬虫豆瓣网的模拟登录实现
2019/08/21 Python
Melissa鞋英国官方网站:Nonnon
2019/05/01 全球购物
初入社会应届生求职信
2013/11/18 职场文书
毕业生实习鉴定
2013/12/11 职场文书
计算机科学系职业生涯规划书
2014/03/08 职场文书
工程建设实施方案
2014/03/14 职场文书
人力资源管理系自荐信
2014/05/31 职场文书
搞笑的获奖感言
2014/08/16 职场文书
二婚主持词
2015/06/30 职场文书
《游戏公平》教学反思
2016/02/20 职场文书
2019自荐信范文集锦!
2019/07/03 职场文书
Python基础详解之描述符
2021/04/28 Python
spring注解 @PropertySource配置数据源全流程
2022/03/25 Java/Android