0

doubleのリストを取得するWebサービスがあります。今、私はそのリストを文字列のリストに変換します。次に、ドロップダウンを使用してアラートを呼び出します。この後、ドロップダウンから値を取得し、それをバイト配列に変換する必要があります。これは私が試した方法です:

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

文字列をdoubleに変換してから、数値のプリミティブデータ型に変換します。変換を1つずつ行うことをお勧めしますか?

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

あなたはおそらくするべきです

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

それ以外の

Byte.valueOf((String) range.getSelectedItem())
于 2013-02-11T09:22:14.963 に答える