对数字进行格式化,以类似¥10,000,000的格式
[cc]/**
* @name 小数位截取格式化金额 例如 100000.00 -> 100,000.00
* @param float $num [格式化前的金额]
* @param integer $dist [保留的小数位数]
* @param BOOL $zeroComplete [小数位不够dist时,是否用0补齐]
* @return [type] [description]
*/
function numberFormat($num = 0, $dist =2, $zeroComplete = TRUE) {
if (!preg_match(‘/^(-?\d+)(\.\d+)?$/’, $num)) {
return $num;
}
if ($dist > 4) {
$dist = 4;
}else if ($dist <= 0) {
$dist = 0;
}
if (!is_bool($zeroComplete)) {
$zeroComplete = TRUE;
}
$newNum = floor($num * pow(10, $dist)) / pow(10, $dist);
if (!$zeroComplete) {
//去掉小数末尾的0
$newNum = floatZeroCut($newNum);
$pos = strpos(strval($newNum), '.');//获取小数点位置
if (!$pos) {
//如果没找到
$dist = 0;
}else {
$dist = strlen(strval($newNum)) - $pos - 1;
}
}
$result = '¥' . number_format($newNum, $dist);
return $result;
}[/cc]
输出样式
¥1,231,243.00
评论(0)