换算

作者: 爱折腾的傻小子 | 来源:发表于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';
}

相关文章

  • 杂志社用滞销版面换取了超10倍价值的机票,只因老板都懂这两字

    换算思维:资源换算

  • Flink9:Flink流处理Api之Transform转换算子

    流处理基本步骤: Transform转换算子 总体分为三部分:基本转换算子、聚合算子、多流转换算子基本转换算子有:...

  • 换算

    B、KB、MB、GB、TB s、ms、us

  • 换算

    失控带来的最大惊恐是有可能突然袭来一个无法接住的事件,尤其是话语。不喜欢辩论,所以担心这个情境。担心本身就吸引了对...

  • 换算

    对感受敏感但对数字不敏感,有伙伴分享一笔费用可以对标另一笔费用时突然觉得欣喜。因为更多时候会用感受去比喻而缺少实在...

  • 页面置换算法之LRU算法

    一.页面置换算法 三种常见的页面置换算法:FIFO、LFU、LRU参考:缓存算法(页面置换算法)-FIFO、LFU...

  • 单位换算的复习

    单位换算的复习 四年级下学期单位换算内容较多,有单名数之间的换算,也有复名数与单名数之间的换算。学生对单位之间的进...

  • 操作系统_页面置换算法

    最佳置换算法 先进先出(FIFO)置换算法 最近最少未使用(LRU)算法 1.最佳置换算法(理想化算法) 淘汰最久...

  • 2018/07/13

    置换算法,今天2018/07/13置换算法剩下部分,储存实验3。

  • 【操作系统,进程,多线程】

    1.内存的页面置换算法 (1)最佳置换算法(OPT)(理想置换算法):从主存中移出永远不再需要的页面;如无这样的...

网友评论

      本文标题:换算

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