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 相关文章推荐
PHP5.0对象模型探索之抽象方法和抽象类
Sep 05 PHP
php实现ping
Oct 09 PHP
通过对服务器端特性的配置加强php的安全
Oct 09 PHP
PHP个人网站架设连环讲(四)
Oct 09 PHP
PHP的面试题集,附我的答案和分析(一)
Nov 19 PHP
php与paypal整合方法
Nov 28 PHP
浅谈PHP定义命令空间的几个注意点(推荐)
Oct 29 PHP
PHP Class SoapClient not found解决方法
Jan 20 PHP
Laravel框架使用Seeder实现自动填充数据功能
Jun 13 PHP
thinkPHP框架动态配置用法实例分析
Jun 14 PHP
php集成开发环境详解
Sep 24 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
Apr 04 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
星际争霸教主Flash的ID由来:你永远不会知道他之前的ID是www!
2019/01/18 星际争霸
PHP数组传递是值传递而非引用传递概念纠正
2013/01/31 PHP
php使用curl抓取qq空间的访客信息示例
2014/02/28 PHP
PHP实现的简单三角形、矩形周长面积计算器分享
2014/11/18 PHP
thinkPHP框架实现图像裁剪、缩放、加水印的方法
2017/03/14 PHP
javascript 在firebug调试时用console.log的方法
2012/05/10 Javascript
基于jquery的用鼠标画出可移动的div
2012/09/06 Javascript
简单的js表单验证函数
2013/10/28 Javascript
javascript中match函数的用法小结
2014/02/08 Javascript
javascript为下拉列表动态添加数据项
2014/05/23 Javascript
60个很实用的jQuery代码开发技巧收集
2014/12/15 Javascript
js和jq使用submit方法无法提交表单的快速解决方法
2016/05/17 Javascript
Vue声明式渲染详解
2017/05/17 Javascript
Bootstrap Table从零开始
2017/06/30 Javascript
JavaScript中Object值合并方法详解
2017/12/22 Javascript
详解VUE2.X过滤器的使用方法
2018/01/11 Javascript
vue 开发一个按钮组件的示例代码
2018/03/27 Javascript
深入理解 Koa 框架中间件原理
2018/10/18 Javascript
zepto.js 实时监听输入框的方法
2018/12/04 Javascript
Python 实现数据库更新脚本的生成方法
2017/07/09 Python
python+PyQT实现系统桌面时钟
2020/06/16 Python
PyQt 图解Qt Designer工具的使用方法
2019/08/06 Python
django ManyToManyField多对多关系的实例详解
2019/08/09 Python
Python实现密码薄文件读写操作
2019/12/16 Python
vscode写python时的代码错误提醒和自动格式化的方法
2020/05/07 Python
值得收藏的HTML5资源(学习html5的朋友可以收藏下)
2010/07/20 HTML / CSS
应届生骨科医生求职信
2013/10/31 职场文书
优秀求职信范文分享
2014/01/26 职场文书
文明班级建设方案
2014/05/15 职场文书
建材投资建议书
2014/05/16 职场文书
自习课吵闹检讨书范文
2014/09/26 职场文书
学习党的群众路线剖析材料
2014/10/09 职场文书
《唯一的听众》教学反思
2016/02/18 职场文书
2016年离婚协议书范文
2016/03/18 职场文书
Python的这些库,你知道多少?
2021/06/09 Python
MongoDB支持的索引类型
2022/04/11 MongoDB