zoukankan      html  css  js  c++  java
  • php实现数字格式化,数字每三位加逗号的功能函数

    原地址:http://www.jb51.net/article/73781.htm

    php实现数字格式化,数字每三位加逗号的功能函数,具体代码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    function num_format($num){
     if(!is_numeric($num)){
      return false;
     }
     $num = explode('.',$num);//把整数和小数分开
     $rl = $num[1];//小数部分的值
     $j = strlen($num[0]) % 3;//整数有多少位
     $sl = substr($num[0], 0, $j);//前面不满三位的数取出来
     $sr = substr($num[0], $j);//后面的满三位的数取出来
     $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($rl)){
      $rvalue = $rv.'.'.$rl;//小数不为空,整数和小数合并
     }else{
      $rvalue = $rv;//小数为空,只有整数
     }
     return $rvalue;
    }

    另外可以使用系统自带的函数string number_format ( float number [, int decimals [, string dec_point, string thousands_sep]] ):

    例子:

    1
    echo number_format('169856420');

    输出结果将为:169,856,420

    1
    echo number_format('1000000',2);

    输出结果将为:1,000,000.00

    1
    echo number_format('1000000',2,',','.');

    输出结果将为:1.000.000,00

    以上就是php实现数字每三位加逗号的代码,刚开始大家看到题目是不是没有思路,小编也是的,希望通过这篇文章可以给大家一些启发。

  • 相关阅读:
    QOMO Linux 4.0 正式版发布
    LinkChecker 8.1 发布,网页链接检查
    pgBadger 2.1 发布,PG 日志分析
    Aletheia 0.1.1 发布,HTTP 调试工具
    Teiid 8.2 Beta1 发布,数据虚拟化系统
    zLogFabric 2.2 发布,集中式日志存储系统
    开源电子工作套件 Arduino Start Kit 登场
    Piwik 1.9 发布,网站访问统计系统
    Ruby 1.9.3p286 发布,安全修复版本
    toBraille 1.1.2 发布,Java 盲文库
  • 原文地址:https://www.cnblogs.com/bjfy/p/5728922.html
Copyright © 2011-2022 走看看