场景:各种文件的大小以字节为单位存储在数据库中。将此大小信息格式化为千字节、兆字节和千兆字节的最佳方式是什么?例如,我有一个Ubuntu显示为“5.2MB (5445632字节)”的MP3。我如何在网页上将其显示为“5.2MB”,并使小于1MB的文件显示为KB,而1G以上的文件显示为GB?
发布于 2020-11-18 03:29:04
下面是一个使用log10
的选项
<?php
function format_number(float $d): string {
$e = (int)(log10($d) / 3);
return sprintf('%.3f', $d / 1e3 ** $e) . ['', ' k', ' M', ' G'][$e];
}
$s = format_number(9012345678);
var_dump($s == '9.012 G');
https://stackoverflow.com/questions/2510434
复制相似问题