我有一个网络服务,可以获得双重列表。现在我将该列表转换为字符串列表。然后我打电话给警报,下拉。 在此之后我必须从下拉列表中获取值,将其转换为字节数组。 这就是我尝试的方式:
float range_m = Float.parseFloat((String) range.getSelectedItem());
System.out.println("range_m: "+ range_m);
// int pos = range.getSelectedItemPosition();
// String range_m = list.get(pos).replace(".", ",");
// configuration.powerLevel = Byte.valueOf(range_m);
configuration.powerLevel = Byte.valueOf((String) range.getSelectedItem());
问题是我收到以下错误:
02-11 11:10:11.170: E/AndroidRuntime(14154): java.lang.NumberFormatException: Invalid int: "3.0"
02-11 11:10:11.170: E/AndroidRuntime(14154): at java.lang.Integer.invalidInt(Integer.java:129)
02-11 11:10:11.170: E/AndroidRuntime(14154): at java.lang.Integer.parse(Integer.java:366)
02-11 11:10:11.170: E/AndroidRuntime(14154): at java.lang.Integer.parseInt(Integer.java:357)
02-11 11:10:11.170: E/AndroidRuntime(14154): at java.lang.Byte.parseByte(Byte.java:203)
02-11 11:10:11.170: E/AndroidRuntime(14154): at java.lang.Byte.parseByte(Byte.java:184)
02-11 11:10:11.170: E/AndroidRuntime(14154): at java.lang.Byte.valueOf(Byte.java:245)
我该怎么办?
答案 0 :(得分:0)
你可能应该做
(byte)Double.valueOf (range.getSelectedItem ().toString ())
而不是
Byte.valueOf((String) range.getSelectedItem())
答案 1 :(得分:0)
将String转换为double,然后转换为数字基元数据类型。我可以建议逐个进行转换吗?
Double dObject = Double.parseDouble(String s);
byte bOutput = dObject.byteValue();