2011-08-02 58 views
1

我有一個填充字符串列表,如「項目1:1.5 - 2.5」的微調,我想以某種方式提取數字部分(1.5 - 2.5)從從微調器中選擇該字符串,然後計算兩個數字的平均值。Android字符串:查找號碼並創建新字符串

我最初的想法是從微調器中選擇字符串,然後使用copyValueOf方法從字符串中提取數字,然後將它們添加到自己的變量並確定平均值。不幸的是,我不知道如何在代碼中設置它。我如何從字符數組中分別收集數字?所有的數字都是3位數字(2.3)(包括小數),所以也許我可以在數組上使用getChars函數,並將前3個字符變成一個變量,然後將最後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但它的作品,我已經測試過,希望這可以幫助你。