大神们 求解释!!!!

来源:5-4 PHP文件系统之取得文件的大小

台农一号

2016-10-22 13:42

function getsize($size, $format = 'kb'){ 

  $p = 0;  

 if($format == 'kb'){      

 $p = 1;  

 }elseif($format = 'mb'){      

 $p = 2;  

 }elseif($format = 'gb'){       

$p = 3;  

 }   

$size /= pow(1024, $p);  

 return number_format($size,3); } 函数中的 number_format(); 怎么理解?

写回答 关注

5回答

  • 一亩地
    2016-10-23 09:29:11
    已采纳

    这个函数的参数可以是1个,2个或者4个(注意没有3个的情况):

    number_format($number,   [, int $decimals = 0  ]);第一个参数是你要格式化的数字,第二个参数是可选参数,是表示保留的小数点个数,如果不写第二个参数,这默认保留0位小数,也就是没有小数位的意思。

    number_format($number, $decimals = 0 , $dec_point = "." , $thousands_dec = ",");这是4个参数的情况,

    第一,第二个参数同上,第三个参数表示小数点显示的字符,第四个就是千位分隔符。下面结合例子去理解:

    <?php

    $number = 1234.56;

    // english notation (default)
    $english_format_number = number_format($number);
    // 1,235

    // French notation
    $nombre_format_francais = number_format($number, 2, ',', ' ');
    // 1 234,56

    $number = 1234.5678;

    // english notation without thousands separator
    $english_format_number = number_format($number, 2, '.', '');
    // 1234.57

    ?>

    想了解更多上php官网:http://php.net/manual/zh/function.number-format.php

    没有网也可以下载与你php对应版本的php手册

    一亩地 回复台农一号

    不客气,O(∩_∩)O哈哈~

    2016-10-23 22:32:16

    共 3 条回复 >

  • 台农一号
    2016-10-22 17:22:03

    <?php
    $filename = '/data/webroot/usercode/resource/test.txt';
    //取得文件的大小并输出
    function getsize($size, $format='kb'){   //getsize()函数,初始化format='kb',也可以为其他也可以为空format='';
        $p = 0;
        if($format == 'kb'){
            $p = 1;
        }elseif($format == 'mb'){
            $p = 2;
        }elseif($format == 'gb'){
            $p = 3;
        }
        $size /= pow(1024, $p);                 //pow(x,y)  表示x的y次方;
        return number_format($size,3);           // number_format() 以千位分隔符方式格式化一个数字;后面的3代表保留三位小数点;
    }
    $size = filesize($filename);                
    echo $size.'字节<br/>';                    //源文件字节数;

    $size = getsize($size,'kb');                  //源文件单位由字节转换为kb;
    echo $size.'kb<br/>';

    $size = getsize($size,'mb');                //源文件单位由字节转换为mb; 不显示字节的原因是因为number_format()只保留了小数点3位;如果要显示出来,改变getsize()函数里number_format()的参数为更大比如9
    echo $size.'mb<br/>';

    $size = getsize($size,'gb');                //源文件单位由字节转换为gb; 不显示字节的原因是因为number_format()只保留了小数点3位;
    echo $size.'gb<br/>';



    帮我分析一下这个程序,谢谢

    台农一号 回复一亩地

    return number_format($size,3); // number_format() 以千位分隔符方式格式化一个数字;后面的3代表保留三位 我这一句看不懂,可以帮我详细的解释下吗?最好能举个通俗易懂的例子最好了

    2016-10-22 23:28:17

    共 2 条回复 >

  • qq_装铍族_04035226
    2016-10-22 17:16:17

    比如1,000

  • 台农一号
    2016-10-22 17:11:18

    number_format — 以千位分隔符方式格式化一个数字   这句话又是什么意思?

  • qq_装铍族_04035226
    2016-10-22 15:33:06

    (PHP 4, PHP 5, PHP 7)

    number_format — 以千位分隔符方式格式化一个数字


    台农一号

    能举个详细的例子吗?

    2016-10-22 17:12:11

    共 1 条回复 >

PHP进阶篇

轻松学习PHP中级课程,进行全面了解,用PHP快速开发网站程序

181835 学习 · 2577 问题

查看课程

相似问题