Android String: найти номер и создать новую строку - PullRequest
1 голос
/ 02 августа 2011

У меня есть счетчик, который заполняется списком строк, например «Элемент 1: 1,5–2,5», и я хотел бы каким-то образом извлечь числовые части (1,5–2,5) из этой строки, когда она выбрана из счетчика а затем рассчитать среднее из двух чисел.

Моя первоначальная мысль - получить строку, когда она выбрана из счетчика, а затем использовать метод copyValueOf, чтобы извлечь только числа из строки, а затем добавить их в свои переменные и определить среднее значение. К сожалению, я не знаю, как настроить это в коде. Как мне собрать числа индивидуально из массива символов? Все числа имеют длину 3 цифры (2.3), включая десятичную, так что, возможно, я могу использовать функцию getChars для массива и получить первые 3 символа в одну переменную, а затем последние 3 в другую?

Ответы [ 2 ]

1 голос
/ 02 августа 2011
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 голосов
/ 02 августа 2011
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, но он работает, и я проверил его, надеюсь, это поможет вам.

...