本文目录一览:
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使数字保留小数点后两位怎么做的?
PHP 中的 round() 函数可以实现
round() 函数对浮点数进行四舍五入。
round(x,prec)
参数说明
x 可选。规定要舍入的数字。
prec 可选。规定小数点后的位数。
返回将 x 根据指定精度 prec (十进制小数点后数字的数目)进行四舍五入的结果。prec 也可以是负数或零(默认值)。
注释:PHP 默认不能正确处理类似 "12,300.2" 的字符串。
例如:
?php
echo round(-4.635,2);
?
输出: -4.64
php如何保留一位小数,包括0,内详?
PHP变量保留一位小数,包括0;可以考虑使用sprintf函数,控制浮点数格式。示例如下:
?php
header("Content-type:text/html;charset=utf-8;");
$money=20;
$money=sprintf("%.1f",$money);
echo $money;
//20.0
$money2=20.20;
$money2=sprintf("%.1f",$money2);
echo $money2;
//20.2