php取整函数ceil,floor,round,intval函数的区别
2015-08-13 10:21
1081 查看
单词ceil是天花板的意思;floor是地板的意思;round有约等于的意思;intval是取整的意思。
举几个简单的例子:
php数字处理的时候难免会有保留小数位的需求。通常有几种方法,round(), number_format(), sprintf()
简单举两个例子:
可以看出来,round($num, 2)这个函数是看$num的情况,如果$num本身就没有小数位或者不到2位,那么得到的结果也不是保留2位。
所以,如果希望确切的得到保留两位小数的情况,推荐使用number_format()这个用法,或者sprintf()这个。
number_format
举几个简单的例子:
<?php $methods = array("ceil", "floor", "intval", "round"); $nums = array(1, 1.2, 1.5, -1.2, -1.5, '011', '009.a', 'a'); foreach($methods as $val){ foreach($nums as $v){ echo $val, "('", $v, "') = ", $val($v), "<br/><br/>"; } echo '<hr/>'; } /** * ceil('1') = 1 ceil('1.2') = 2 ceil('1.5') = 2 ceil('-1.2') = -1 ceil('-1.5') = -1 ceil('011') = 11 ceil('009.a') = 9 ceil('a') = 0 ---------------------------------- floor('1') = 1 floor('1.2') = 1 floor('1.5') = 1 floor('-1.2') = -2 floor('-1.5') = -2 floor('011') = 11 floor('009.a') = 9 floor('a') = 0 ---------------------------------- intval('1') = 1 intval('1.2') = 1 intval('1.5') = 1 intval('-1.2') = -1 intval('-1.5') = -1 intval('011') = 11 intval('009.a') = 9 intval('a') = 0 ---------------------------------- round('1') = 1 round('1.2') = 1 round('1.5') = 2 round('-1.2') = -1 round('-1.5') = -2 round('011') = 11 round('009.a') = 9 round('a') = 0 * */
php数字处理的时候难免会有保留小数位的需求。通常有几种方法,round(), number_format(), sprintf()
简单举两个例子:
$num1 = 12345.789; $num2 = 0.7; $round1 = round($num1, 2);// 12345.79 $round2 = round($num2, 2);// 0.7 $format1 = number_format($num1, 2, '.', '');// 12345.79 $format2 = number_format($num2, 2, '.', '');// 0.70 $format3 = number_format($num1, 2, '.', ',');// 12,345.79 $sprintf1 = sprintf('%.2f', $num1);// 12345.79 $sprintf2 = sprintf('%.2f', $num2);// 0.70
可以看出来,round($num, 2)这个函数是看$num的情况,如果$num本身就没有小数位或者不到2位,那么得到的结果也不是保留2位。
所以,如果希望确切的得到保留两位小数的情况,推荐使用number_format()这个用法,或者sprintf()这个。
number_format
相关文章推荐
- sql的count()函数,php怎么取他的值
- PHP 中$_SERVER 详细介绍
- PHP实现页面后退保存表单内容的两种方法
- 个人Yii遇到的一些小问题积累
- PHP ZipArchive 实现压缩解压Zip文件
- PHP 常用的代码片段
- phpstrom快捷键
- PHP多文件上传类
- PHP中XML-RPC使用笔记
- PHP生成缩略图类
- PHP之APC缓存详细介绍
- PHP 图片水印类
- php初进一个项目组,使用几个函数帮忙熟悉流程
- php文件上传类
- PHP 表单批量操作时过滤ID值
- 手动配置apach+php+mysql-----不兼容解决方案
- PHP的数据类型转换
- PHPconst和static
- PHP构造函数的继承
- php判断一个数是否为质数(素数)