我使用PHP在一个表中显示文件列表有多大。我想以兆字节为单位显示它们的大小,而不是默认字节。我遇到的问题是,我得到的小数非常长,这对这个目的来说是不切实际的。
这是我到目前为止所知道的:
print((filesize("../uploads/" . $dirArray[$index])) * .000000953674316 . " MB");
它正确地转换值,但将值更改为,例如,71 B为6.7710876436E-5 MB。
我认为E-5的事情就像x10^-5,它可能会正确地加起来,但有没有一种方法可以把它减少到多少个数字呢?如果它显示为“00.00MB”,这对我来说没问题,大多数文件将比这个测试文件大得多。
发布于 2011-08-29 02:41:08
使用很好的旧printf:
printf("%.2f MB",filesize("../uploads/" . $dirArray[$index]) * .000000953674316);也许吧,因为它的意图更清晰了:
printf("%.2f MB",filesize("../uploads/" . $dirArray[$index]) / (1024 * 1024));发布于 2011-08-29 02:39:00
您可以使用number_format()函数设置数字格式。
编辑:手册页包含您可能喜欢的用户注释:http://es.php.net/manual/en/function.number-format.php#72969
发布于 2011-08-29 02:41:06
number_format()很好,不要忘记round()可以将数字四舍五入到您想要的任何精度。
https://stackoverflow.com/questions/7223056
复制相似问题