php 格式化价钱,PHP 数字价格格式化,保留两位小数

$num=3.545;

$precision=2;

1、php保留两位小数并且四舍五入,代码如下:

round($num, $precision)

2、php保留两位小数并且不四舍五入,代码如下

sprintf("%.2f",substr(sprintf("%.3f", $num), 0, -1))

3、四舍六入五成双(银行家舍入)

说明:四舍六入五成双(四舍六入五考虑,五后非零就进一,五后为零看奇偶,五前为偶应舍去,五前为奇要进一)

function round3() {

$num=3.5551;

$precision=2;

$pow = pow(10, $precision);

//判断不进1的情况(五后为0且为奇)

if((floor($num * $pow * 10) % 5 == 0) && (floor( $num * $pow * 10) == $num * $pow * 10) && (floor($num * $pow) % 2 ==0) ){

$round = floor($num * $pow) / $pow;

} else {

$round = round($num, $precision);

}

return $round;

}

接下来看看这这几种的区别

银行家舍入:

五后非零就进一

echo round3(3.5551,3); ===> 3.56

五后为零看奇偶,五前为偶应舍去,五前为奇要进一

echo round3(3.545,2); ===> 3.54

echo round3(3.5451,2); ===> 3.55

echo round3(3.555,2); ===> 3.56

round函数:

round(3.545,2); ===> 3.55

round(3.5451,2); ===> 3.55

原文:https://www.cnblogs.com/jxxiaocao/p/12112366.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值