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打造进度条代码[readyState各状态说明]
Apr 12 PHP
TMDPHP 模板引擎使用教程
Mar 13 PHP
php.ini修改php上传文件大小限制的方法详解
Jun 17 PHP
php 过滤英文标点符号及过滤中文标点符号代码
Jun 12 PHP
PHP+Mysql树型结构(无限分类)数据库设计的2种方式实例
Jul 15 PHP
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
Mar 03 PHP
php HTML无刷新提交表单
Apr 05 PHP
php微信公众号开发模式详解
Nov 28 PHP
基于Codeigniter框架实现的student信息系统站点动态发布功能详解
Mar 23 PHP
PHP数据库操作四:mongodb用法分析
Aug 16 PHP
PHP fopen函数用法实例讲解
Feb 15 PHP
解决laravel session失效的问题
Oct 14 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重定向的3种方式
2013/03/07 PHP
如何在Ubuntu下启动Apache的Rewrite功能
2013/07/05 PHP
PHP CURL获取cookies模拟登录的方法
2013/11/04 PHP
PHP文件锁函数flock()详细介绍
2014/11/18 PHP
PHP中模拟链表和链表的基本操作示例
2016/02/27 PHP
Laravel 集成微信用户登录和绑定的实现
2019/12/27 PHP
javascript 模拟JQuery的Ready方法实现并出现的问题
2009/12/06 Javascript
js获取客户端外网ip的简单实例
2013/11/21 Javascript
js隐式全局变量造成的bug示例代码
2014/04/22 Javascript
jQuery弹簧插件编写基础之“又见弹窗”
2015/12/11 Javascript
JavaScript 经典实例日常收集整理(常用经典)
2016/03/30 Javascript
星期几的不同脚本写法(推荐)
2016/06/01 Javascript
微信小程序 实例应用(记账)详解
2016/09/28 Javascript
详解Angular.js的$q.defer()服务异步处理
2016/11/06 Javascript
node.js文件上传重命名以及移动位置的示例代码
2018/01/19 Javascript
JavaScript引用类型Object常见用法实例分析
2018/08/08 Javascript
微信小程序点击滚动到指定位置的实现
2020/05/22 Javascript
vue中实现拖动调整左右两侧div的宽度的示例代码
2020/07/22 Javascript
[00:32]2018DOTA2亚洲邀请赛Mineski出场
2018/04/04 DOTA
Python中请使用isinstance()判断变量类型
2014/08/25 Python
零基础写python爬虫之使用urllib2组件抓取网页内容
2014/11/04 Python
Python爬虫之pandas基本安装与使用方法示例
2018/08/08 Python
Django通过dwebsocket实现websocket的例子
2019/11/15 Python
在django admin详情表单显示中添加自定义控件的实现
2020/03/11 Python
如何把外网python虚拟环境迁移到内网
2020/05/18 Python
python 代码运行时间获取方式详解
2020/09/18 Python
使用Python+Appuim 清理微信的方法
2021/01/26 Python
ZWILLING双立人英国网上商店:德国刀具锅具厨具品牌
2018/05/15 全球购物
机械工程系毕业生求职信
2013/09/27 职场文书
护理职业应聘自荐书
2013/09/29 职场文书
大学生学业生涯规划
2014/01/05 职场文书
竞聘书怎么写,如何写?
2014/03/31 职场文书
2014年涉外离婚协议书范本
2014/11/20 职场文书
幼儿园欢迎词范文
2015/01/26 职场文书
Python进阶学习之带你探寻Python类的鼻祖-元类
2021/05/08 Python
「偶像大师 MILLION LIVE!」七尾百合子手办开订
2022/03/21 日漫