2011-08-02 129 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但它的作品,我已经测试过,希望这可以帮助你。