对数字进行格式化,以类似¥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

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。