本文目录一览:
- 1、php四舍五入怎样实现
- 2、php取整的几种方式
- 3、PHP 保留小数点后2位
- 4、php程序如何实现四舍五入和无条件舍去、无条件进入法?
- 5、php函数里面什么是舍去法取整?
- 6、php中的四舍五入函数代码(floor函数、ceil函数、round与intval)
php四舍五入怎样实现
1.round
($aaa,四舍五入的位数为可选参数
);
2.ceil($aaa);进一法取整
3.floor($aaa);舍去法取整
具体可查看PHP手册里德数学函数库
php取整的几种方式
有三种方式,分别是floor()(舍去小数部分,只取整数),ceil()(进一取整,只要有小数部分,直接加一),round()(四舍五入取整)。。。
PHP 保留小数点后2位
两种取值法,看你需要什么结果:
1 四舍五入(简单,自带函数就可以解决)
$youWantNum = sprintf('%.2f', $num);
//有人说用floor,floor是取整的函数,无法直接取小数;但可以转换得到结果,那就是下面的例子
2 舍去后面的,不管是什么
/*
*$num 要处理的浮点数
*$digits 保留的小数位数
* 实现思路:先乘以10的小数位数次方,用floor向下取整,再除以除数得到舍去后面位数的结果
* 最后再用sprintf配合位数再取一次值(此处是为了解决有些数字,最后一位为零时不显示问题)
*/
function floorFloat($num, $digits) {
$num = floatval($num);
$multiple = pow(10, $digits);
$tempNum = floor($num*$multiple);
return sprintf('%.'.$digits.'f', $tempNum/$multiple);
}
php程序如何实现四舍五入和无条件舍去、无条件进入法?
floor() 函数:
?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() 函数向上舍入为最接近的整数。
?php
echo(ceil(0.60);
echo(ceil(0.40);
echo(ceil(5);
echo(ceil(5.1);
echo(ceil(-5.1);
echo(ceil(-5.9));
?
输出
1
1
5
6
-5
-5
round() 函数对浮点数进行四舍五入。
?php
echo(round(0.60));
echo(round(0.50));
echo(round(0.49));
echo(round(-4.40));
echo(round(-4.60));
?
输出
1
1
-4
-5
等函数
php函数里面什么是舍去法取整?
舍去法就是去除小数点之后的数字,用floor函数可以实现,floor函数表示向下舍入为最接近的整数。例如:
floor(5.2) 结果等于5
floor(6.8) 结果等于6
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