gpt4 book ai didi

javascript - 人类可读值的实际数字

转载 作者:可可西里 更新时间:2023-11-01 02:49:09 29 4
gpt4 key购买 nike

我有字节数据。我需要将这些值绘制为图表上的人类可读标签(如 2.5KB、14MB 等),并且需要帮助处理函数(输入数据 - 实际值,输出 - 人类可读字符串)。

我是这样实现的,但是我想要更优雅的实现

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', 'MB', '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"

我不认为这是功劳。

关于javascript - 人类可读值的实际数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4498866/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com