0

我有一个网络服务,可以让我得到一个双人列表。现在我将该列表转换为字符串列表。然后我会通过下拉菜单调用警报。在此之后,我必须从下拉列表中获取值,将其转换为字节数组。这就是我尝试的方式:

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)

我能做些什么?

4

2 回答 2

0

你可能应该做

(byte)Double.valueOf (range.getSelectedItem ().toString ())

代替

Byte.valueOf((String) range.getSelectedItem())
于 2013-02-11T09:22:14.963 回答
0

将 String 转换为 double,然后转换为数字原始数据类型。我可以建议一一进行转换吗?

Double dObject = Double.parseDouble(String s);
byte bOutput = dObject.byteValue();
于 2013-02-11T09:27:37.453 回答