换算

作者: 爱折腾的傻小子 | 来源:发表于2018-10-29 11:05 被阅读7次
    B、KB、MB、GB、TB
    /**
     * @param string $size   转换大小 B 字节
     * @param int $precision 保留小数点后位数
     * @return string
     */
    public function formatBytes($size, $precision = 2)
    {
        // 0 或 null
        if ($size === 0 || $size === null) {
            return "0B";
        }
    
        // $sign 正负符号
        $sign = $size < 0 ? '-' : '';
        $size = abs($size);  // 取绝对值
    
        // 取log 
        $base = log($size) / log(1024);
        // 大小单位
        $suffixes = array('B', 'KB', 'MB', 'GB', 'TB');
        // round 四舍五入,$precision 保留小数位数
        // pow(1024, $base - floor($base))
        // $suffixes[floor($base)] 单位
        return $sign . round(pow(1024, $base - floor($base)), $precision) . $suffixes[floor($base)];
    }
    
    s、ms、us
    /**
     * @param float $seconds 秒
     * @return string
     */
    public function formatDuration($seconds)
    {
        if ($seconds < 0.001) {
            // 微秒 1s = 1000ms = 1000000us
            return round($seconds * 1000000) . 'μs';
        } elseif ($seconds < 1) {
            // 毫秒 1s = 1000ms
            return round($seconds * 1000, 2) . 'ms';
        }
        // s
        return round($seconds, 2) . 's';
    }
    

    相关文章

      网友评论

          本文标题:换算

          本文链接:https://www.haomeiwen.com/subject/bkumbftx.html