【发布时间】:2012-05-14 12:05:19
【问题描述】:
我试图四处寻找解决方案,但我根本做不到。 我想显示以字节为单位计算的 long 的兆字节表示。
在 Java 中,您有一个名为 length() 的方法,您可以在文件对象上调用该方法。它将返回存储在 long 中的文件大小(以字节为单位)。 现在,我想把它变成兆字节而不是字节。我正在尝试使用的文件大小为 161000 字节。如果我没记错的话,就是 0.161 兆字节。所以我会做字节/ 100000,我希望得到0.161。问题是我没有。
如果我使用 Windows 计算器或任何其他计算器,应用程序可以设法显示这 3 个小数。为什么我不能这样做? 我试图将结果存储为双精度,结果为 0.0
编辑: 已找到答案。 感谢 wrm:
long b = file.length(); 双 mb = (双) b / (1024 * 1024);
【问题讨论】:
-
FWIW,
1MB = 1024 * 1024字节。不像许多人认为的那样1000 * 1000字节。 -
其实一般磁盘存储1000,内存1024。在任何情况下,OP 都表示他们将其除以 100000 (10^5),即 10 倍 - 它应该是 10^6(或 1024^2)。这可能是一个错字,我们可以判断 OP 是否实际上给了我们他们得到的结果 :-) 所有问题都应该有 (1)存在问题的最小完整代码示例,(2) 预期行为和 (3) 实际行为。
-
这是MB vs MiB的问题
-
wrm 解决了!你可以在下面看到它。谢谢你这么快! :D
标签: java