php算出数据的千位和个位,PHP把数字通过千位分组格式化

PHP把数字通过千位分组格式化

/**

* 数字隔断

*/

function num_format($num){

if(!is_numeric($num)){

return $num;

}

$rvalue = '';

$num = explode('.', $num); //把整数和小数分开

$rl = !isset($num['1']) ? '' : $num['1']; //小数部分的值

$j = strlen($num[0]) % 3; //整数有多少位

$sl = substr($num[0], 0, $j); //前面不满三位的数取出来

$sr = substr($num[0], $j); //后面的满三位的数取出来

$i = 0;

while($i <= strlen($sr)){

$rvalue = $rvalue.','.substr($sr, $i, 3); //三位三位取出再合并,按逗号隔开

$i = $i + 3;

}

$rvalue = $sl.$rvalue;

$rvalue = substr($rvalue, 0, strlen($rvalue) - 1); //去掉最后一个逗号

$rvalue = explode(',', $rvalue); //分解成数组

if($rvalue[0] == 0){

array_shift($rvalue); //如果第一个元素为0,删除第一个元素

}

$rv = $rvalue[0]; //前面不满三位的数

for($i = 1; $i < count($rvalue); $i++){

$rv = $rv.','.$rvalue[$i];

}

if(!empty($rl)){

$rvalue = $rv.'.'.$rl; //小数不为空,整数和小数合并

}else{

$rvalue = $rv; //小数为空,只有整数

}

//p($num);

return $rvalue ? $rvalue : $num[0];

}

其实PHP有内置函数实现这一功能 number_format() dc3aa2e0a81df71bd520412510eb5ee4.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值