php小数点两位
1. php保留数字小数点后两位的方法
在日常的学习与生活中,我们时常会遇到需要保留数字小数点后两位的问题。本文将为您介绍使用PHP保留数字小数点后两位的方法。下面将通过具体的代码示例,为您详细介绍几种不同方法。
方法一:使用`round()`函数进行四舍五入,保留小数点后两位。
方法二:使用`ceil()`函数进行四舍五入,保留小数点后两位。
方法三:使用`floor()`函数进行不进行四舍五入,保留小数点后两位。
方法四:使用`sprintf()`函数进行四舍五入,并自动补充后面0,主要应用在显示金额场景。
方法五:使用`number_format()`函数进行四舍五入,并自动补充后面0。
方法六:使用高精度函数进行不进行四舍五入,保留小数点后两位,并自动补充后面0。
方法七:使用高精度函数进行四舍五入,保留小数点后两位。
通过本文的介绍,您已经对使用PHP保留数字小数点后两位的方法有了深入了解。更多关于PHP保留数字小数点后两位的资料请关注我们的网站。
2. PHP 保留小数点后2位
两种取值法,看你需要什么结果:
1 四舍五入(简单,自带函数就可以解决)
$youWantNum=sprintf('%.2f',$num);
//有人说用floor,floor是取整的函数,无法直接取小数;但可以转换得到结果,那就是下面的例子
2 舍去后面的,不管是什么
/*
*$num要处理的浮点数
*$digits保留的小数位数
*实现思路:先乘以10的小数位数次方,用floor向下取整,再除以除数得到舍去后面位数的结果
*最后再用sprintf配合位数再取一次值(此处是为了解决有些数字,最后一位为零时不显示问题)
*/
functionfloorFloat($num,$digits){
$num=floatval($num);
$multiple=pow(10,$digits);
$tempNum=floor($num*$multiple);
returnsprintf('%.'.$digits.'f',$tempNum/$multiple);
}
3. PHP如何显示两位小数
一round()函数:
floatround(float$val[,int$precision])
返回将val根据指定精度precision(十进制小数点后数字的数目)进行四舍五入的结果。
precision也可以是负数或零(默认值)。
例如:
echoround(3.6);//4
echoround(3.6,0);//4
echoround(1.95583,2);//1.96
$a=12345678;
echoround($a,-3);//12346000
但是有时候如遇到这样的数字就不行了,12.3,13.4,15,6
//我们要转为12.30,13.40,15,60,这样的值,就得用另外一种强大的方法了。
二sprintf()[或者printf()函数]函数
此函数源于c中强的printf()函数。所以是一个强大的格式化工具。
说明:
stringsprintf(string$format[,mixed$args[,mixed$...]])
format包含:
其格式(format)有如下值:
d有符号10进制整数
i有符号10进制整数
o无符号8进制整数
u无符号10进制整数
x无符号的16进制数字,并以小写abcdef表示
X无符号的16进制数字,并以大写ABCDEF表示
F/f浮点数
E/e用科学表示格式的浮点数
g使用%f和%e表示中的总的位数表示最短的来表示浮点数G同g格式,但表示为指数
c单个字符
s字符串
%显示百分号本身
4. php怎么保存小数点后两位并且四舍五入
php保留两位小数并且四舍五入
代码如下:
$num = 123213.666666;
echo sprintf("%.2f", $num);
php保留两位小数并且不四舍五入
代码如下:
$num = 123213.666666;
echo sprintf("%.2f",substr(sprintf("%.3f", $num), 0, -2));
php进一法取整
代码如下:
echo ceil(4.3); // 5
echo ceil(9.999); // 10
php舍去法,取整数
代码如下:
echo floor(4.3); // 4
echo floor(9.999); // 9
5. 请教,php保留两位小数,但不四舍五入
使用bc一类的函数,按字符串方式运算即可。
/**
*数值非四舍五入保留两位小数
*@authorZjmainstay
*@websitehttp://www.zjmainstay.cn
*@param$num数值
*@return保留两位小数
*/
functiongetNum($num,$scale=2){
$numStr=(string)$num.str_repeat('0',$scale);
//匹配精度前的数值
if(preg_match('#^d+.d{0,'.$scale.'}#',$numStr,$match)){
return$match[0];
}else{
return'0';
}
}
echogetNum(10.0253)." ";
echogetNum(0.5)." ";
6. 用php使数字保留小数点后两位怎么做的
PHP 中的 round() 函数可以实现
round() 函数对浮点数进行四舍五入。
round(x,prec)
参数说明
x 可选。规定要舍入的数字。
prec 可选。规定小数点后的位数。
返回将 x 根据指定精度 prec (十进制小数点后数字的数目)进行四舍五入的结果。prec 也可以是负数或零(默认值)。
注释:PHP 默认不能正确处理类似 "12,300.2" 的字符串。
例如:
<?php
echo round(-4.635,2);
?>
输出: -4.64