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";
else str = Long.toOctalString(str)+ "B"; } return(String)str; }String型からjava型にfloat型にキャストできません。
別のエラーは、16番目の に、ここで私は、私はstr
はあなたがする必要がある場合には文字列、あるとし9行目と12行目でエラーがJavaの
文字列の浮動小数点型のキャストが機能すると考える原因は何ですか?文字列に不正な形式( '' ABCNOTA NUMBER ''')があるとどうなりますか?悪いデータのキャストはどうすればできますか?これがうまくいくように見えるドキュメントやチュートリアルを見たことがありますか? –
最後の行にエラーがあります。おそらく 'str = Long.toString(l)+" B "' – enzom83
と書くべきです。また、R.C.の「Clean code」という本をお読みください。マーティンネストされたif-else文、マジックナンバー、ネストされた引数を使ってコードを読むのは恐ろしいことです。チームメンバーがこのコードを理解する場合はどうなりますか?それは不可能。私は1〜2週間であなた自身でそれを理解することはできないと思っています。 – nhaarman