无法从String转换为在java中浮动

时间:2012-02-17 12:08:29

标签: java android types

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

5 个答案:

答案 0 :(得分:7)

我认为str是一个字符串,在这种情况下,您需要使用Float.valueOf(str)而不是(float)str

或者更有可能是(float)l而不是(float)str

正如enzom83所提到的,你的最后一行应该是:

str = Long.toString(l) + " B";

答案 1 :(得分:2)

(float)strstr时,您无法使用String

将其替换为此(并捕捉可能的例外情况!):Float.valueOf(str)

答案 2 :(得分:2)

使用parseFloat方法Float.parseFloat(str)

答案 3 :(得分:2)

看起来您正在尝试将字符串str强制转换为浮点数。可能你有一个错误,你应该使用l变量。

答案 4 :(得分:1)

嗯,对不起我的英文

如果strString,您无法转换为像(float)str这样的浮点数,则必须使用名为Float method的{​​{1}}返回一个初始化为指定String

表示的值的新float