long l = ((File)localObject).length();
if (l >= 1024L)
{
if (l >= 1048576L)
{
if (l >= 1073741824L)
str = Float.toString(Math.round(100.0F * ((float)l / 1.073742E+09F)) / 100.0F) + " GB";
else
str = Float.toString(Math.round(100.0F * ((float)str / 1048576.0F)) / 100.0F) + " MB";
}
else
str = Float.toString(Math.round(100.0F * ((float)str / 1024.0F)) / 100.0F) + " KB";
}
else
str = Long.toString(str) + " B";
其他 str = Long.toOctalString(str) + "B"; } 返回(字符串)str; }
16号又出现一个错误 这里我在第 9 行和第 12 行出现错误 Cannot cast from String to float in java
最佳答案
我认为 str
是一个字符串,在这种情况下,您需要使用 Float.valueOf(str)
而不是 (float)str
.
或更可能您的意思是 (float)l
而不是 (float)str
。
正如 enzom83 所提到的,你的最后一行可能应该是:
str = Long.toString(l) + " B";
关于java - 无法在 java 中从 String 转换为 float,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9327939/