gpt4 book ai didi

java - 内存内部和整数作为输出?

转载 作者:行者123 更新时间:2023-11-30 09:14:51 25 4
gpt4 key购买 nike

我想知道 Total Internal Memory 并将其写在 Preference 中,所以我写了这段代码:

 File path = Environment.getDataDirectory();
StatFs stat = new StatFs(path.getPath());
long blockSize = stat.getBlockSize();
long totalBlocks = stat.getBlockCount();
long Size = totalBlocks * blockSize/1073741824;

memory = (Preference) this.findPreference("free");
memory.setSummary(Long.toString(Size)+" GB");

1073741824对应1024*1024*1024获取千兆字节。现在,问题是,为什么结果是整数?例如,在首选项中写为“5”,但如果我进行计算并将变量大小除以 1024/1024,我得到 5393,再除以 1024 为 5,26,但从那以后我只收到 5 作为输出?我该如何解决这个问题?

最佳答案

long 变量只能保存长整数。您必须改用浮点类型。例如:

double size = totalBlocks * blockSize / 1073741824d;

要确保的另一点是,您的计算中至少有一个操作数也是浮点类型(请参阅常量的 d 后缀)。否则 Java 将计算一个整数值并将其分配给 double 变量。

此外,按照惯例,您的变量不应以大写字母开头。这种风格是为类型名称保留的。

关于java - 内存内部和整数作为输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20246595/

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