PHP 简单的进位换算

    /**
     * @author MRASONG
     * @param  int    $number      The number being formatted
     * @param  int    $decimals    Sets the number of decimal points.
     * @param  string $format      The format string [sprintf]
     * @return string
     */
    public static function fsize($number=0, $decimals=2, $format='%s %s'){
        $units = array('B', 'KB', 'MB', 'GB', 'TB', 'PB');
        $i = 0;
        $base = pow(2, 10);
        $size = $number;
        while ($number >= pow($base, $i+1)) {
            $size = $number / pow($base, ++$i);
        }
        return sprintf($format, number_format($size, $decimals, '.', ''), $units[$i]);
    }

添加新评论