php 格式化显示金额

作者: jaclon 分类: PHP 发布时间: 2011-05-05 08:10 ė 64条评论

格式化显示金额函数,有千位分隔符,带小数

/**
 * 格式化金额
 *
 * @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;
}

echo format_money(1154.0616);

显示结果
¥1,154.06

本文出自 肥蕉博客@IT技术,热门话题,生活随笔,美图欣赏,转载时请注明出处及相应链接。

本文永久链接: http://www.bananawolf.com/html/2011/05/501.html

4条评论

  1. cevin 六月 10, 2011 5:07 上午 回复

    如果我记得没错,php有的内置函数吧。
    money_format、number_format

    1. jaclon 六月 10, 2011 1:28 下午 回复

      还真有的,之前没发现,又长见识了

  2. cevin 六月 10, 2011 5:08 上午 回复

    博主~你博客的时区设置有问题啊

    1. jaclon 六月 10, 2011 1:27 下午 回复

      是哦,还好你发现,可能是搬家造成的!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

Ɣ回顶部