PHP取整函数:ceil,floor,round,intval的区别详细解析

我们经常用到的PHP取整函数,主要是:ceil,floor,round,intval。

ceil -- 进一法取整
说明
float ceil ( float value )

返回不小于 value 的下一个整数,value 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。

PHP取整函数例子 1. ceil() 例子


代码如下:

< ?php echo ceil(4.3);
// 5 echo ceil(9.999);
// 10
?>

floor -- 舍去法取整
说明
float floor ( float value )

返回不大于 value 的下一个整数,将 value 的小数部分舍去取整。floor() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。

PHP取整函数例子 1. floor() 例子


代码如下:

< ?
php echo floor(4.3);
// 4 echo floor(9.999);
// 9
?>

round -- 对浮点数进行四舍五入
说明



代码如下:

float round ( float val [, int precision] )

返回将 val 根据指定精度 precision(十进制小数点后数字的数目)进行四舍五入的结果。precision 也可以是负数或零(默认值)。

PHP取整函数例子 1. 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
?>

intval---对变数转成整数型态
PHP取整函数例子intval()


代码如下:

< ?
php echo intval(4.3);
//4 echo intval(4.6);
//4
?>

(0)

相关推荐

  • Javascript浮点数乘积运算出现多位小数的解决方法

    Javascript在进行浮点数的乘积运算,会出现多位小数的情况. 这是由于在运算的时候先把浮点数转化成二进制后进行运算,但是有的小数在二进制编码后出现无限循环,因而导致计算出现了误差,在其它变成语言中也有类似的问题. 原因解释参考自百度知道: 例如:求1038.1-1000 1038.1=10000001110.0001100110011001100110011001100110011001100..... 1000 =1111101000 1038.1转化为二进制是个无限循环小数,1100是

  • PHP浮点数精度问题汇总

    一.PHP浮点数精度损失问题 先看下面这段代码: 复制代码 代码如下: $f = 0.57; echo intval($f * 100);  //56 结果可能有点出乎你的意外,PHP遵循IEEE 754双精度: 浮点数, 以64位的双精度, 采用1位符号位(E), 11指数位(Q), 52位尾数(M)表示(一共64位). 符号位:最高位表示数据的正负,0表示正数,1表示负数. 指数位:表示数据以2为底的幂,指数采用偏移码表示 尾数:表示数据小数点后的有效数字. 再来看看小数用二进制怎么表示:

  • php取整函数ceil,floo,round的用法及介绍

    ceil  是向上进位得到一个值的函数:floor 是舍掉小数位得到一个值的函数:round 是用来四舍五入的函数 ceil定义和用法:ceil() 函数向上舍入为最接近的整数. 复制代码 代码如下: ceil(x); 说明: 返回不小于 x 的下一个整数,x 如果有小数部分则进一位.ceil() 返回的类型仍然是 float. 例子: 复制代码 代码如下: <?php    echo ceil(0.60);    echo "<br/>";    echo ceil

  • php判断两个浮点数是否相等的方法

    本文实例讲述了php判断两个浮点数是否相等的方法.分享给大家供大家参考.具体分析如下: 由于浮点数直接用==判断是否相等是不完全正确的,所以下面给出了一个方法,先设定的一个精度,如果在精度范围内相等则认为相等,否则认为不能 <?php $delta = 0.00001; $a = 1.00000001; $b = 1.00000000; if (abs($a - $b) < $delta) { /* $a and $b are equal */ } ?> 希望本文所述对大家的php程序设

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

    小数例子: 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

  • PHP之浮点数计算比较以及取整数不准确的解决办法

    php有意思的现象,应该是很多编程语言都会有这样的现象.这个是因为计算机的本身对浮点数识别的问题.....下面通过代码给大家展示下: $f = 0.58; var_dump(intval($f * 100 *100)); //结果5799 var_dump((float)($f * 100 *100)); //结果5800 echo (int)((0.1+0.7)*10); //结果7 echo (float)((0.1+0.7)*10); //结果8 <?php $a = 0.1; $b =

  • PHP中浮点数计算比较及取整不准确的解决方法

    浮点数计算结果比较 一则浮点数计算例子如下: 复制代码 代码如下: $a = 0.2+0.7; $b = 0.9; var_dump($a == $b); 打印出的结果是:bool(false).也就是说在这里 0.2+0.7 的计算结果与 0.9 并不相等,这显然是有违我们的常识的. 对此问题,PHP官方手册曾又说明:显然简单的十进制分数如 0.2 不能在不丢失一点点精度的情况下转换为内部二进制的格式.这和一个事实有关,那就是不可能精确的用有限位数表达某些十进制分数.例如,十进制的 1/3 变

  • 你应该知道PHP浮点数知识

    PHP是一种弱类型语言, 这样的特性, 必然要求有无缝透明的隐式类型转换, PHP内部使用zval来保存任意类型的数值, zval的结构如下(5.2为例): 复制代码 代码如下: struct _zval_struct {     /* Variable information */     zvalue_value value;     /* value */     zend_uint refcount;     zend_uchar type;    /* active type */  

  • PHP四舍五入精确小数位及取整

    进一法取整.四舍五入取整.忽略小数等的取整数方法大全 PHP取整数函数常用的四种方法,下面收集了四个函数:经常用到取整的函数,今天小小的总结一下!其实很简单,就是几个函数而已--主要是:ceil,floor,round,intval PHP取整数函数常用的四种方法,下面收集了四个函数:经常用到取整的函数,今天小小的总结一下!其实很简单,就是几个函数而已--主要是:ceil,floor,round,intval 一.ceil - 进一法取整 说明float ceil ( float value )

  • PHP取整函数:ceil,floor,round,intval的区别详细解析

    我们经常用到的PHP取整函数,主要是:ceil,floor,round,intval. ceil -- 进一法取整说明float ceil ( float value ) 返回不小于 value 的下一个整数,value 如果有小数部分则进一位.ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大. PHP取整函数例子 1. ceil() 例子 复制代码 代码如下: < ?php echo ceil(4.3); // 5 echo ceil(9.99

  • Java Math类的三个方法ceil,floor,round用法

    Math类的ceil,floor,round用法 ceil()方法 就表示向上取整,Math.ceil(12.3)的结果是13,Math.ceil(-12.7)的结果-12: floor()方法 就表示向下取整,Math.floor(12.7)的结果是12,Math.floor(-12.3)的结果-13: round()方法 表示"四舍五入",Math.round(12.3)的结果是12,Math.round(-12.7)的结果-13: Math的 floor,round和ceil总结

  • oracle中函数 trunc(),round(),ceil(),floor的使用详解

    1.round函数(四舍五入) 描述 : 传回一个数值,该数值是按照指定的小数位元数进行四舍五入运算的结果 参数: number : 欲处理之数值 decimal_places : 四舍五入 , 小数取几位 ( 预设为 0 ) select round(123.456, 0) from dual: 返回123 select round(123.456, 1) from dual; 返回123.5 select round(-123.456, 2) from dual; 返回-123.46 2.c

  • 浅谈java中math类中三种取整函数的区别

    math类中三大取整函数 1.ceil 2.floor 3.round 其实三种取整函数挺简单的.只要记住三个函数名翻译过来的汉语便能轻松理解三大函数,下面一一介绍 1.ceil,意思是天花板,java中叫做向上取整,大于等于该数字的最接近的整数 例: math.ceil(13.2)=14 math.ceil(-13.2)=-13 2.floor,意思是地板,java中叫做向下取整,小于等于该数字的最接近的整数 例: math.floor(13.2)=13 math.floor(-13.2)=-

  • java中的三种取整函数总结

    如下所示: 1. 舍掉小数取整:Math.floor(3.5)=3 2. 四舍五入取整:Math.rint(3.5)=4 3. 进位取整:Math.ceil(3.1)=4 以上这篇java中的三种取整函数总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • python中format函数与round函数的区别

    目录 前言 不同之处 round函数 进位原则 示例 format函数 示例 总结 前言 在对数据进行处理时我们常常会用到format与round函数.二者都能保留若干位小数,但在处理过程上稍有不同. 不同之处 返回类型不同:format函数进行格式化后返回结果的数据类型是str字符串,round函数返回结果的数据类型是float浮点型 进位不同:保留若干位小数时,format遵循的是四舍五入原则,而round并不遵循该原则,round进位原则为四舍六入次偶进. 位数保留不同:规定如保留6位小数

  • js中Math之random,round,ceil,floor的用法总结

    <SPAN style="FONT-SIZE: 18px">1.Math.random(); 结果为0-1间的一个随机数(包括0,不包括1) </SPAN>  Math.random(); 结果为0-1间的一个随机数(包括0,不包括1) [html] view plaincopyprint?<SPAN style="FONT-SIZE: 18px"> 2.Math.floor(num); 参数num为一个数值,函数结果为num的整

  • SQL四舍五入、向下取整、向上取整函数介绍

    round() 遵循四舍五入把原值转化为指定小数位数,如:round(1.45,0) = 1;round(1.55,0)=2 floor()向下取整 如:floor(1.45)= 1,floor(1.55) = 1 ,floor(-1.45)= -2 ,floor(-1.55) = -2 ceiling()向上取整 如:ceiling(1.45) = 2,ceiling(1.55)=2,ceiling(-1.45) = -1,ceiling(-1.55)=-1

  • Python爬取YY评级分数并保存数据实现过程解析

    前言 当需要进行大规模查询时(比如目前遇到的情形:查询某个省所有发债企业的YY评级分数),人工查询显然太过费时,那就写个爬虫吧. 由于该爬虫实在过于简单,就只简单概述下. 一.请求端 通过观察YY评级的网页信息,如下图(F12或右击进入检查,点击network->XHR->headers). 红色框表明是个get请求(其实这种网页基本都是Ajax get,需要总结实际url的规律的). 绿色框即为实际URL,通过分析该URL,其由两部分组成.前半部分为" https://web.ra

随机推荐