zoukankan      html  css  js  c++  java
  • 对数字加千分号实现

    千分号能够快速的读出数值,所以在财务等数据统计中很常用

    具体代码:

    function num_format($num)
        {
            if (!is_numeric($num)) {
                return false;
            }
            $num = explode('.', $num);//把整数和小数分开
            $j = strlen($num[0]) % 3;//整数有多少位
            $sl = substr($num[0], 0, $j);//前面不满三位的数取出来
            $sr = substr($num[0], $j);//后面的满三位的数取出来
            $rvalue = '';
            $i = 0;
            while ($i <= strlen($sr)) {
                $rvalue = $rvalue . ',' . substr($sr, $i, 3);//三位三位取出再合并,按逗号隔开
                $i = $i + 3;
            }
            $rvalue = $sl . $rvalue;
            $rvalue = substr($rvalue, 0, strlen($rvalue) - 1);//去掉最后一个逗号
            $rvalue = explode(',', $rvalue);//分解成数组
            if ($rvalue[0] == 0) {
                array_shift($rvalue);//如果第一个元素为0,删除第一个元素
            }
            $rv = $rvalue[0];//前面不满三位的数
            for ($i = 1; $i < count($rvalue); $i++) {
                $rv = $rv . ',' . $rvalue[$i];
            }
            if (!empty($num[1])) {
                $rvalue = $rv . '.' . $num[1];//小数不为空,整数和小数合并
            } else {
                $rvalue = $rv;//小数为空,只有整数
            }
            return $rvalue;
        }

    其实在php函数中也有自带函数,语法:

    number_format(number,decimals,decimalpoint,separator)

    number必需。要格式化的数字。如果未设置其他参数,则数字会被格式化为不带小数点且以逗号(,)作为千位分隔符。

    decimals可选。规定多少个小数。如果设置了该参数,则使用点号(.)作为小数点来格式化数字。

    decimalpoint可选。规定用作小数点的字符串。

    separator 可选。规定用作千位分隔符的字符串。仅使用该参数的第一个字符。比如 "xxx" 仅输出 "x"。注释:如果设置了该参数,那么所有其他参数都是必需的。

    举例:

    echo number_format('155251236987452');

    输出:155,251,236,987,452

     

    echo number_format('155251236987452',2);

    输出:155,251,236,987,452.00

     

    echo number_format('155251236987452',2,',','.');

    输出:155.251.236.987.452,00

     

    附上对数值精确到分,需要添加千分号的代码:

        if(empty($number) || strlen($number) < 3){
                return '0.00';
            }
            $fen = substr($number,-2);
            $int = substr($number,0,strlen($number)-2);
            return number_format($int).'.'.$fen;

     

  • 相关阅读:
    Delphi公用函数单元
    Delphi XE5 for Android (十一)
    Delphi XE5 for Android (十)
    Delphi XE5 for Android (九)
    Delphi XE5 for Android (八)
    Delphi XE5 for Android (七)
    Delphi XE5 for Android (五)
    Delphi XE5 for Android (四)
    Delphi XE5 for Android (三)
    Delphi XE5 for Android (二)
  • 原文地址:https://www.cnblogs.com/two-bees/p/11009379.html
Copyright © 2011-2022 走看看