ceil函数php,ceil函数和floor函数的用法

本文目录一览:

php里ceil函数和intval函数有什么区别 ?

ceil(x)接受一个浮点数x,返回比x大的最小整数

ceil(3.21) = 4

ceil(9.0) = 9

ceil(-2.333) = 2

intval返回一个整数,接受2个参数,第一个是数或者包含数的字符串,第二个参数是第一个参数使用的进制,除非第一个参数是字符串,否则第二个参数没有作用,参数中如果有小数,小数部分将被截断

inval(123.999) = 123

inval(33.123) = 33

intval(‘c’, 16) = 12

intval(1000, 2) = 8

intval(‘1000’, 2) = 8

请教,php保留两位小数,但不四舍五入

php四舍五入函数有:floor函数、ceil函数、round与intval

使用floor函数:

$a=1.23456;

echo floor($a*100)/100;

PHP怎么实现整除

如果我们使用’/’操作符进行除法运算时,如果遇到无法除尽的情况,会得到小数值。如果我只希望得到整数部分,怎么办呢?

在PHP的数学函数库里提供了多个函数供我们选择:

1、round函数, 对浮点数进行四舍五入。这个应该是最符合大家需要的吧。

php echo round(10/3); // 3

2、ceil函数, 进一法取整。

php echo ceil(4.3); // 5

3、floor ,舍去法取整,舍去小数部分

php echo floor(4.3); // 4 echo floor(9.999); // 9

为什么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 变成了 0.3333333…。

我们将上面的变量用双精度格式打印出来:

代码如下:

$a = 0.2+0.7;

$b = 0.9;

printf(“%0.20f”, $a);

echo ‘br /’;

printf(“%0.20f”, $b);

输出结果如下:

代码如下:

0.89999999999999991118

0.90000000000000002220

显然在这里,实际上作为浮点型数据,其精度已经损失了一部分,达不到完全精确。所以永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。需要说明的是,这不是PHP的问题,而是计算机内部处理浮点数的问题!在 C、JAVA 等语言中也会遇到同样的问题。

所以要比较两个浮点数,需要将其控制在我们需要的精度范围内再行比较,因此使用 bcadd() 函数来对浮点数想加并进行精度转换(为字符串):

代码如下:

var_dump(bcadd(0.2,0.7,1) == 0.9); // 输出:bool(true)

浮点数取整

在《PHP 取整函数 ceil 与 floor》一文中,曾有例子:

代码如下:

?php

echo ceil(2.1/0.7); // 输出:4

?

经过上面对浮点数计算的探讨,知道这是浮点数计算结果不完全精确造成的:

代码如下:

?php

printf(“%0.20f”, (2.1/0.7)); // 输出:3.00000000000000044409

?

经过上面对浮点数计算的探讨,知道这是浮点数计算结果不完全精确造成的,因此使用 round() 函数处理一下即可:

代码如下:

?php

echo ceil( round((2.1/0.7),1) );

?

虽然 round() 函数是按照指定的精度进行四舍五入,但保留小数点后一位,对我们的取整结果是没影响的。

php取整的几种方式

具体代码如下:

?php

$ch = curl_init();

$timeout = 5;

curl_setopt ($ch, CURLOPT_URL, ”);

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

$file_contents = curl_exec($ch);

curl_close($ch);

echo $file_contents;

?

PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。

它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,

执行效率比完全生成HTML标记的CGI要高许多;

PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

php中的四舍五入函数代码(floor函数、ceil函数、round与intval)

floor函数和ceil函数互相搭配起来可以使php

处理的数据更加真实可靠。

一、先来看floor函数:

语法:

float

floor

(

float

value

)

说明:

返回不大于

value

的下一个整数,将

value

的小数部分舍去取整。floor()

返回的类型仍然是

float,因为

float

值的范围通常比

integer

要大。

floor()

例子

1

?php

echo

floor(1.6);

//

will

output

“1”

echo

floor(-1.6);

//

will

output

“-2”

?

floor()

例子

2

?php

echo(floor(0.60));

echo(floor(0.40));

echo(floor(5));

echo(floor(5.1));

echo(floor(-5.1));

echo(floor(-5.9))

?

输出:

5

5

-6

-6

二、ceil函数:

语法:

float

ceil

(

float

value

)

说明:

返回不小于

value

的下一个整数,value

如果有小数部分则进一位。ceil()

返回的类型仍然是

float,因为

float

值的范围通常比

integer

要大。

ceil()

例子:

?php

echo

ceil(4.3);

//

5

echo

ceil(9.999);

//

10

echo

ceil(-3.14);

//

-3

?

看到这两个函数的区别了么。。

在分页时我们会常用到的

//页码计算:

$lastpg=ceil($totle/$displaypg);

//最后页,也是总页数,用ceil就方便多了。

$lastpg=$lastpg

?

$lastpg

:

1;

//没有显示条目,置最后页为1

$page=min($lastpg,$page);

$prepg=$page-1;

//上一页

$nextpg=($page==$lastpg

?

:

$page+1);

//下一页

$firstcount=($page-1)*$displaypg;

当然,如果需要制定精度就需要使用round函数了。

三、round函数:

语法:

float

round

(

float

val

[,

int

precision]

)

说明:

返回将

val

根据指定精度

precision(十进制小数点后数字的数目)进行四舍五入的结果。precision

也可以是负数或零(默认值)。

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—对变数转成整数型态

变量转成整数类型。

语法:

int

intval(mixed

var,

int

[base]);

返回值:

整数

函数种类:

PHP

系统功能

内容说明

本函数可将变量转成整数类型。可省略的参数

base

是转换的基底,默认值为

10。转换的变量

var

可以为数组或类之外的任何类型变量。

例子intval()

?php

echo

intval(4.3);

//4

echo

intval(4.6);

//

4

?

注:intval如果是字符型的会自动转换为0

intval(‘abc’);

输出结果

如果是

intval(‘5fd’);

输出结果是

5

原创文章,作者:UNMU,如若转载,请注明出处:https://www.506064.com/n/144047.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
UNMUUNMU
上一篇 2024-10-24 15:27
下一篇 2024-10-24 15:27

相关推荐

  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • Python中capitalize函数的使用

    在Python的字符串操作中,capitalize函数常常被用到,这个函数可以使字符串中的第一个单词首字母大写,其余字母小写。在本文中,我们将从以下几个方面对capitalize函…

    编程 2025-04-29
  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • Python中set函数的作用

    Python中set函数是一个有用的数据类型,可以被用于许多编程场景中。在这篇文章中,我们将学习Python中set函数的多个方面,从而深入了解这个函数在Python中的用途。 一…

    编程 2025-04-29
  • 单片机打印函数

    单片机打印是指通过串口或并口将一些数据打印到终端设备上。在单片机应用中,打印非常重要。正确的打印数据可以让我们知道单片机运行的状态,方便我们进行调试;错误的打印数据可以帮助我们快速…

    编程 2025-04-29
  • 三角函数用英语怎么说

    三角函数,即三角比函数,是指在一个锐角三角形中某一角的对边、邻边之比。在数学中,三角函数包括正弦、余弦、正切等,它们在数学、物理、工程和计算机等领域都得到了广泛的应用。 一、正弦函…

    编程 2025-04-29
  • Python3定义函数参数类型

    Python是一门动态类型语言,不需要在定义变量时显示的指定变量类型,但是Python3中提供了函数参数类型的声明功能,在函数定义时明确定义参数类型。在函数的形参后面加上冒号(:)…

    编程 2025-04-29
  • Python实现计算阶乘的函数

    本文将介绍如何使用Python定义函数fact(n),计算n的阶乘。 一、什么是阶乘 阶乘指从1乘到指定数之间所有整数的乘积。如:5! = 5 * 4 * 3 * 2 * 1 = …

    编程 2025-04-29
  • Python定义函数判断奇偶数

    本文将从多个方面详细阐述Python定义函数判断奇偶数的方法,并提供完整的代码示例。 一、初步了解Python函数 在介绍Python如何定义函数判断奇偶数之前,我们先来了解一下P…

    编程 2025-04-29
  • 分段函数Python

    本文将从以下几个方面详细阐述Python中的分段函数,包括函数基本定义、调用示例、图像绘制、函数优化和应用实例。 一、函数基本定义 分段函数又称为条件函数,指一条直线段或曲线段,由…

    编程 2025-04-29

发表回复

登录后才能评论