javascript – 实际数字到人类可读的值

前端之家收集整理的这篇文章主要介绍了javascript – 实际数字到人类可读的值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有数据字节.我需要在图表上绘制这些值作为可读标签(如2.5KB,14MB等),并需要帮助函数(输入数据 – 实际值,输出 – 人类可读字符串).

我这样做了funcion,但我想要更加优雅的实现

function tickFormatter(value,type) {

    var suffix = (type == "bytes") ? ['B','KB','MB','GB'] : ['','K','M','G']

    if(value > (1024 * 1024 * 1024 * 1024)) {
        return (value / (1024 * 1024 * 1024 * 1024)).toFixed(2) + suffix[3]
    } else if(value > (1024 * 1024 * 1024)) {
        return (value / (1024 * 1024 * 1024)).toFixed(2) + suffix[2]
    } else if (value > (1024 * 1024)) {
        return (value / (1024 * 1024)).toFixed(2) + suffix[1]
    } else {
        return value.toFixed(2) + suffix[0]
    }
}

解决方法

我喜欢这个实现:清晰紧凑:
function readablizeBytes(bytes) {
    var s = ['bytes','kB','GB','TB','PB'];
    var e = Math.floor(Math.log(bytes) / Math.log(1024));
    return (bytes / Math.pow(1024,e)).toFixed(2) + " " + s[e];
}

用法

readablizeBytes(10000000)
"9.54 MB"

我不信任这个.

原文链接:https://www.f2er.com/js/151779.html

猜你在找的JavaScript相关文章