PHP四舍五入、取整、round函数使用示例


Posted in PHP onFebruary 06, 2015

小数例子:

PHP保留两位小数并且四舍五入

$n=0.1265489;

echo sprintf("%.2f", $n); // 0.13

大家可以看到我们用到了sprintf函数对$n进行了格式化%.2f是目标格式,其中2表示两位f表示float(浮点型) 第3为小数6被四舍五入
再看个例子

$n=0.1265489

echo substr(sprintf("%.3",$n),0,-1);// 0.12

代码输出了保留2为小数没有四舍五入,实际上我们了解了sprintf的特性会四舍五入小数后我们多保留了一位,然后用substr来截取前2位

取整例子:

echo ceil(4.1);    // 5

echo ceil(9.999);  // 10

ceil函数是向上取整函数,什么叫向上呢? 就是说如果超出一点点那就向前进一位如例子中4.1就变成了5。

跟它相反还有一个函数叫floor我们看看它的用法

echo floor(4.1);   // 4

echo floor(9.999); // 9

floor的特性在第二个输出中显的特别明显,那就是不给你多少位小数哪怕是无限接近10也没有用向下取到的整数就是9。

round函数

<?PHP

  echo round(3.4);         // 3

  echo round(3.5);         // 4

  echo round(3.6);         // 4

  echo round(3.6, 0);      // 4

  echo round(1.95583, 2);  // 1.96

  echo round(1241757, -3); // 1242000

  echo round(5.045, 2);    // 5.05

  echo round(5.055, 2);    // 5.06

?>

round函数在PHP手册中的说明是:

float round ( float $val [, int $precision = 0 [, int $mode = PHP_ROUND_HALF_UP ]] )
返回将 val 根据指定精度 precision(十进制小数点后数字的数目)进行四舍五入的结果。precision 也可以是负数或零(默认值)。

round 的参数一是数据源,参数二是要保留的小数位而且之后一位(比如你输入2那么第3为是之后一位)被四舍五入,当他是负数的时候,从数据源最后一位开始往前数相应的长度制0并将最后一位四舍五入比如round(123456,-2) 就是123456从6开始往前数两位都变成零,并且最后一位5(从后往前数第一位是6最后一位是5)被四舍五入,输出123500

PHP 相关文章推荐
discuz 首页四格:最新话题+最新回复+热门话题+精华文章插件
Aug 19 PHP
php多文件上传功能实现原理及代码
Apr 18 PHP
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
Jul 03 PHP
PHP取二进制文件头快速判断文件类型的实现代码
Aug 05 PHP
ThinkPHP空模块和空操作详解
Jun 30 PHP
浅析PHP程序设计中的MVC编程思想
Jul 28 PHP
php+ajax无刷新分页实例详解
Dec 07 PHP
在Mac OS的PHP环境下安装配置MemCache的全过程解析
Feb 15 PHP
PHP执行shell脚本运行程序不产生core文件的方法
Dec 28 PHP
CakePHP框架Model关联对象用法分析
Aug 04 PHP
深入理解PHP的远程多会话调试
Sep 21 PHP
PHP策略模式写法
Apr 01 PHP
WordPress中is_singular()函数简介
Feb 05 #PHP
php简单实现MVC
Feb 05 #PHP
php中curl使用指南
Feb 05 #PHP
PHP开发注意事项总结
Feb 04 #PHP
浅谈php命令行用法
Feb 04 #PHP
PHP strtotime函数用法、实现原理和源码分析
Feb 04 #PHP
php curl登陆qq后获取用户信息时证书错误
Feb 03 #PHP
You might like
修改destoon会员公司的伪静态中的com目录的方法
2014/08/21 PHP
从wamp到xampp的升级之路
2015/04/08 PHP
浅析Yii2 GridView 日期格式化并实现日期可搜索教程
2016/04/22 PHP
微信网页授权(OAuth2.0) PHP 源码简单实现
2016/08/29 PHP
浅谈laravel数据库查询返回的数据形式
2019/10/21 PHP
php 多继承的几种常见实现方法示例
2019/11/18 PHP
使用ExtJS技术实现的拖动树结点
2010/08/05 Javascript
js的一些常用方法小结
2011/06/29 Javascript
分享一道笔试题[有n个直线最多可以把一个平面分成多少个部分]
2012/10/12 Javascript
js制作的鼠标悬浮时产生的下拉框效果
2012/10/27 Javascript
js实现左侧网页tab滑动门效果代码
2015/09/06 Javascript
Bootstrap入门书籍之(四)菜单、按钮及导航
2016/02/17 Javascript
基于JS模仿windows文件按名称排序效果
2016/06/29 Javascript
功能强大的Bootstrap使用手册(一)
2016/08/02 Javascript
Vue.js -- 过滤器使用总结
2017/02/18 Javascript
JS 组件系列之Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
2017/06/30 Javascript
Vue ElementUi同时校验多个表单(巧用new promise)
2018/06/06 Javascript
Vue.js 中的 v-show 指令及用法详解
2018/11/19 Javascript
[56:42]完美世界DOTA2联赛循环赛 Matador vs Forest 第二场 11.06
2020/11/06 DOTA
Python代码的打包与发布详解
2014/07/30 Python
Python中的默认参数详解
2015/06/24 Python
Python随机生成手机号、数字的方法详解
2017/07/21 Python
Python用户推荐系统曼哈顿算法实现完整代码
2017/12/01 Python
pygame游戏之旅 按钮上添加文字的方法
2018/11/21 Python
一文轻松掌握python语言命名规范规则
2020/06/18 Python
如何完美的建立一个python项目
2020/10/09 Python
css3翻牌翻数字的示例代码
2020/02/07 HTML / CSS
PHP如何防止SQL注入
2014/05/03 面试题
小车司机岗位职责
2013/11/25 职场文书
小学师德标兵先进事迹材料
2014/05/25 职场文书
2014年学校党建工作总结
2014/11/11 职场文书
通讯稿格式及范文
2015/07/22 职场文书
电力安全学习心得体会
2016/01/18 职场文书
Vue实现下拉加载更多
2021/05/09 Vue.js
MySql 8.0及对应驱动包匹配的注意点说明
2021/06/23 MySQL
Java面试题冲刺第十九天--数据库(4)
2021/08/07 Java/Android