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”; } return(String)str; }
16日的另一个错误 这里我得到第9行和第12行的错误无法从String转换为浮动java
答案 0 :(得分:7)
我认为str
是一个字符串,在这种情况下,您需要使用Float.valueOf(str)
而不是(float)str
。
或者更有可能是(float)l
而不是(float)str
。
正如enzom83所提到的,你的最后一行应该是:
str = Long.toString(l) + " B";
答案 1 :(得分:2)
(float)str
为str
时,您无法使用String
。
将其替换为此(并捕捉可能的例外情况!):Float.valueOf(str)
答案 2 :(得分:2)
使用parseFloat
方法Float.parseFloat(str)
答案 3 :(得分:2)
看起来您正在尝试将字符串str
强制转换为浮点数。可能你有一个错误,你应该使用l
变量。
答案 4 :(得分:1)
嗯,对不起我的英文
如果str
是String
,您无法转换为像(float)str
这样的浮点数,则必须使用名为Float method
的{{1}}返回一个初始化为指定String