gpt4 book ai didi

Javascript 人类可读的文件大小

转载 作者:可可西里 更新时间:2023-11-01 00:14:24 25 4
gpt4 key购买 nike

我目前正在尝试将此 php 函数转换为 javascript:

function human_filesize($bytes, $decimals = 2) {
$sz = 'BKMGTP';
$factor = floor((strlen($bytes) - 1) / 3);
return sprintf("%.{$decimals}f", $bytes / pow(1024, $factor)) . @$sz[$factor];
}

这是我目前所拥有的:

function human_filesiz(bytes){
var decimals = 2;
var sz = 'BKMGTP';
var factor = Math.floor((bytes.length - 1) / 3);
return (bytes / Math.pow(1024, factor));
//return sprintf("%.{$decimals}f", $bytes / pow(1024, $factor)) . @$sz[$factor];
}

我只是在为最后一行而苦苦挣扎。非常感谢任何帮助。

最佳答案

你看过吗:http://programanddesign.com/js/human-readable-file-size-in-javascript/他们有两个版本的人类可读文件大小的 Javascript 解决方案:

function fileSize(size) {
var i = Math.floor(Math.log(size) / Math.log(1024));
return (size / Math.pow(1024, i)).toFixed(2) * 1 + ' ' + ['B', 'kB', 'MB', 'GB', 'TB'][i];
}

function readableFileSize(size) {
var units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
var i = 0;
while(size >= 1024) {
size /= 1024;
++i;
}
return size.toFixed(1) + ' ' + units[i];
}

将循环标准更新为 while(size >= 1024 && i < units.length - 1)防止undefined在 YB 或最后一个单位超过后 as mentioned通过 @holytrousers .

关于Javascript 人类可读的文件大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20459630/

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