2011-08-02 12 views
1

「Item 1:1.5-2.5」のような文字列のリストが挿入されたスピナーがありますが、何とか数字部分(1.5〜2.5)を抽出したいその文字列をスピナーから選択してから、2つの数値の平均を計算します。Android文字列:番号を検索して新しい文字列を作成

最初に考えたのは、スピンナーから選択したときに文字列を取得し、次に文字列から数字だけを抽出し、それを独自の変数に追加して平均を決定することでした。残念ながら、これをコードでどのように設定するのか分かりません。文字配列から数値を個別に収集するにはどうすればよいですか?すべての数値は小数点を含む3桁の長さ(2.3)ですので、配列のgetChars関数を使用して最初の3文字を1つの変数に、次に最後の3文字を別の変数に取得できますか?

答えて

1
String s="Item 1: 1.5 - 2.5"//s=spinner.getItemAt(i) 
String newS[]=s.split(":");//newS[0]="Item 1" and newS[1]="1.5-2.5" 
String newS2[]=newS[1].split("-");// 

Double d1=Double.parseDouble(newS2[0]); 
Double d2=Double.parseDouble(newS2[1]); 
Double avg=(d1+d2)/2; 
+0

スプリット!!!どうもありがとうございます!完璧に動作します。 – ryandlf

+0

あなたは歓迎です – Rasel

0
String str = "Item 1: 1.5 - 2.5"; 
String[] strs = str.split(":"); 

String numberStr = (strs[strs.length - 1]).trim(); 
String[] numbers = numberStr.split("-"); 

float sum = 0f; 
for (int i = 0; i < numbers.length; i++) { 
    sum = sum + Float.valueOf(numbers[i]).floatValue(); 
} 
//Here, get the average of the two numbers 
float result = sum/(numbers.length); 

このおそらく最良のsulotionが、それは動作し、私はそれをテストしているが、これはあなたを助けることができると思います。

関連する問題