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 相关文章推荐
BBS(php &amp; mysql)完整版(七)
Oct 09 PHP
php下图片文字混合水印与缩略图实现代码
Dec 11 PHP
PHP实现服务器状态监控的方法
Dec 09 PHP
php使用递归函数实现数字累加的方法
Mar 16 PHP
使用php+swoole对client数据实时更新(一)
Jan 07 PHP
PHP类的声明与实例化及构造方法与析构方法详解
Jan 26 PHP
PHP实现可自定义样式的分页类
Mar 29 PHP
php远程下载类分享
Apr 13 PHP
PHP预定义变量9大超全局数组用法详解
Apr 23 PHP
PHP简单遍历对象示例
Sep 28 PHP
PHP的消息通信机制测试实例
Nov 10 PHP
Thinkphp 框架配置操作之配置加载与读取配置实例分析
May 15 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获取mysql字段名称和其它信息的例子
2014/04/14 PHP
PHP编程 SSO详细介绍及简单实例
2017/01/13 PHP
CentOS 上搭建 PHP7 开发测试环境
2017/02/26 PHP
Dom操作之兼容技巧分享
2011/09/20 Javascript
jquery获取元素值的方法(常见的表单元素)
2013/11/15 Javascript
jquery序列化form表单使用ajax提交后处理返回的json数据
2014/03/03 Javascript
js实现右下角提示框的方法
2015/02/03 Javascript
浅谈JavaScript中Date(日期对象),Math对象
2015/02/05 Javascript
浅谈jQuery中的事件
2015/03/23 Javascript
javascript显式类型转换实例分析
2015/04/25 Javascript
vue的props实现子组件随父组件一起变化
2016/10/27 Javascript
AngularJS辅助库browserTrigger用法示例
2016/11/03 Javascript
codeMirror插件使用讲解
2017/01/16 Javascript
js禁止表单重复提交
2017/08/29 Javascript
Vue.js@2.6.10更新内置错误处机制Fundebug同步支持相应错误监控
2019/05/13 Javascript
layui table设置某一行的字体颜色方法
2019/09/05 Javascript
[04:26]2014DOTA2西雅图国际邀请赛 总决赛TOPPLAY
2014/07/22 DOTA
Python多层嵌套list的递归处理方法(推荐)
2016/06/08 Python
Python中int()函数的用法浅析
2017/10/17 Python
Flask框架Flask-Login用法分析
2018/07/23 Python
Django rstful登陆认证并检查session是否过期代码实例
2019/08/13 Python
Python OpenCV视频截取并保存实现代码
2019/11/30 Python
Python实现在线批量美颜功能过程解析
2020/06/10 Python
浅谈OpenCV中的新函数connectedComponentsWithStats用法
2020/07/05 Python
了解一下python内建模块collections
2020/09/07 Python
JPA面试常见问题
2016/11/14 面试题
大四学生思想汇报
2014/01/13 职场文书
运动会通讯稿400字
2014/01/28 职场文书
秋季运动会稿件
2014/01/30 职场文书
运动会入场词100字
2014/02/06 职场文书
档案保密承诺书
2014/06/03 职场文书
物业品质提升方案
2014/06/08 职场文书
公司董事长岗位职责
2014/06/08 职场文书
故意伤害辩护词
2015/05/21 职场文书
创业计划书之宠物店
2019/09/19 职场文书
i5-10400f处理相当于i7多少水平
2022/04/19 数码科技