在android中将double转换为byteArray

时间:2013-02-11 09:19:13

标签: android parsing double bytearray transform

我有一个网络服务,可以获得双重列表。现在我将该列表转换为字符串列表。然后我打电话给警报,下拉。 在此之后我必须从下拉列表中获取值,将其转换为字节数组。 这就是我尝试的方式:

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)

我该怎么办?

2 个答案:

答案 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();