我必须将字符串转换成浮动我做它像这里面:如何将字符串转换成浮动环
float[] iLongs = new float[mLongs.length];
for(int i = 0; i < iLongs.length ; i++){
iLongs[i] = Float.valueOf(mLongs[i]).floatValue();
}
但它引发的NumberFormat异常
但是,如果使用相同的功能在任何循环之外工作。 怎么办?
我必须将字符串转换成浮动我做它像这里面:如何将字符串转换成浮动环
float[] iLongs = new float[mLongs.length];
for(int i = 0; i < iLongs.length ; i++){
iLongs[i] = Float.valueOf(mLongs[i]).floatValue();
}
但它引发的NumberFormat异常
但是,如果使用相同的功能在任何循环之外工作。 怎么办?
该代码看起来很好,这让我怀疑它是一个数据问题。您需要验证每个用于mLong的索引都包含一个实际上作为浮点数有效的字符串,您如何实现这一点取决于您。
你的代码没有问题。 发生异常是因为String不是Float而不能被解析。最常见的错误 - 而不是。
你是正确的语法。我认为问题在于液体。它可能包含一些字母字符。
替代代码:
class StringToFloat {
public static void main (String[] args) {
// String s = "hello"; // do this if you want an exception
String s = "100.00";
try {
float f = Float.valueOf(s.trim()).floatValue();
System.out.println("float f = " + f);
}
catch (NumberFormatException e) {
System.out.println("NumberFormatException: " + e.getMessage());
}
}
}
// Output :float f = 100.0
你为什么不使用['Float.parseFloat()'](http://download.oracle.com/javase/6/docs/api/java /lang/Float.html#parseFloat%28java.lang.String%29)?什么是导致NumberFormatException的字符串? – 2011-05-20 12:30:45
这与循环无关,与'mLongs'中的字符串值有关。 – 2011-05-20 12:30:55
我想你把'String Array'转换成'Float Array' – 2011-05-20 12:34:49