php格式化金额函数分享

最近的项目在处理资金这一块的功能,对人民币金额的格式化输出是必不可少的功能。这个功能比较独立而且还比较大众化,所以封装成了函数就发上去也算是方便大家。


/**

 * 格式化金额

 *

 * @param int $money

 * @param int $len

 * @param string $sign

 * @return string

 */

function format_money($money, $len=2, $sign='¥'){

    $negative = $money > 0 ? '' : '-';

    $int_money = intval(abs($money));

    $len = intval(abs($len));

    $decimal = '';//小数

    if ($len > 0) {

        $decimal = '.'.substr(sprintf('%01.'.$len.'f', $money),-$len);

    }

    $tmp_money = strrev($int_money);

    $strlen = strlen($tmp_money);

    for ($i = 3; $i < $strlen; $i += 3) {

        $format_money .= substr($tmp_money,0,3).',';

        $tmp_money = substr($tmp_money,3);

    }

    $format_money .= $tmp_money;

    $format_money = strrev($format_money);

    return $sign.$negative.$format_money.$decimal;

}

以上就是本文的全部内容,希望大家能够喜欢。