PHP实现大数以,做分隔符分隔

实现效果:类似1234567890-->1,234,567,890。

代码:

//未考虑浮点型
/*
     * method 1
     * echo number_format($str,2,'.',',');
     */
    /*  method2
     *     先反转字符串strrev 再str_split($str,3); 
     
        $str = strrev($str);
        $arr = str_split($str,3);//987
        $res = '';
        $count = count($arr);
        while($count--){
            $res .= strrev($arr[$count]).',';
        }
        $res = rtrim($res,',');
    */
    /*    method 3
     *  截取出每3个字符
     *  $count = strlen($str);
        $i = 0;
        $md = $count % 3;
        switch ($md){
            case 0:
                break;
            case 1:
                $res = $str{0}.',';
                $count -=1;
                $i = 1;
                break;
            case 2:
                $res = substr($str,0,2).',';
                $count -= 2;
                $i = 2;
                break;
        }
        for(;$i<$count-3;$i+=3){
            $res .= substr($str,$i,3).',';
        }
        $res .= substr($str,$i,3);
    */
    /*    method 4
     *  正则,求不确定长度的做法
        $md = strlen($str) % 3;
        $res = substr($str, 0,$md).($md == 0?'':',');
         $res .= preg_replace('(\d{3})', '\\0,', substr($str, $md));
        $res = rtrim($res,',');
    */
posted @ 2012-06-13 14:30  令狐葱★  阅读(314)  评论(0编辑  收藏  举报