2011-08-02 4 views
1

J'ai un compteur qui est rempli avec une liste de chaînes telles que "Item 1: 1.5 - 2.5" et je voudrais extraire en quelque sorte les portions de numéros (1.5 - 2.5) de cette chaîne quand il est sélectionné à partir du spinner et ensuite calculer la moyenne des deux nombres. Ma première pensée est d'obtenir la chaîne quand elle est sélectionnée à partir du spinner, puis d'utiliser la méthode copyValueOf pour extraire uniquement les nombres de la chaîne, puis les ajouter à leurs propres variables et déterminer la moyenne. Malheureusement, je n'ai aucune idée de comment le configurer en code. Comment puis-je collecter les nombres individuellement à partir du tableau de caractères? Tous les nombres ont 3 chiffres (2.3), y compris le nombre décimal, donc peut-être que je peux utiliser la fonction getChars sur le tableau et obtenir les 3 premiers caractères dans une variable, puis les 3 derniers dans un autre?Chaîne Android: trouver un numéro et créer une nouvelle chaîne

Répondre

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

Diviser !!! Merci beaucoup! Fonctionne parfaitement. – ryandlf

+0

Vous êtes les bienvenus – 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); 

Ce peut-être le meilleur sulotion mais cela fonctionne et je l'ai testé, espérons que cela peut vous aider.

Questions connexes