5个回答
展开全部
两种取值法,看你需要什么结果:
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);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$number是一个小数
保留小数点后两位
round($number,2, PHP_ROUND_HALF_UP) //不四舍五入,如果小数点两位后有值则进一位
round($number,2, PHP_ROUND_HALF_DOWN) //不四舍五入,如果小数点两位后有值则舍去
保留小数点后两位
round($number,2, PHP_ROUND_HALF_UP) //不四舍五入,如果小数点两位后有值则进一位
round($number,2, PHP_ROUND_HALF_DOWN) //不四舍五入,如果小数点两位后有值则舍去
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
number_format($number, 2, '.', '');
round($number,2, PHP_ROUND_HALF_DOWN) 第三个参数需要PHP版本在5.3以上!
round($number,2, PHP_ROUND_HALF_DOWN) 第三个参数需要PHP版本在5.3以上!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<?php
$i = 2.23343;
echo round($i,2);
?>
就可以保留小数点后两位了。
希望对你帮助。
$i = 2.23343;
echo round($i,2);
?>
就可以保留小数点后两位了。
希望对你帮助。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$number= '124345.67888';
$p= stripos($number, '.');
echo substr($number,0,$p+3);
这个没有四舍五入
$p= stripos($number, '.');
echo substr($number,0,$p+3);
这个没有四舍五入
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询