Преобразовать строку в двойную, исключая часть строки - PullRequest
1 голос
/ 03 февраля 2012

Как преобразовать double в строковое значение, которое я получаю из счетчика, например: «10 (ton).»

В итоге: Как преобразовать строку в двойную и удалить часть (тонну)?

Мне нужно только значение 10

Ответы [ 5 ]

2 голосов
/ 03 февраля 2012

Другой вариант - использование метода подстроки Java в классе String.

Подпись:

substring(int beginIndex, int endIndex)

Где endIndex равно индексу последнего символавы хотите включить + 1.

В случае вашего примера это будет выглядеть так:

String myString = "10 (ton)";
Double dbl = Double.parseDouble(myString.substring(0, 2));

Вот ссылка на метод: Подстрока Java

0 голосов
/ 21 мая 2013

У меня похожая проблема. для правильного форматирования текстового содержимого EditText в двойное значение я использую этот код:

try {
        String eAm = etAmount.getText().toString();
        DecimalFormat dF = new DecimalFormat("0.00");
        Number num = dF.parse(eAm);
        mPayContext.amount = num.doubleValue();
    } catch (Exception e) {
        mPayContext.amount = 0.0d;
    }

это не зависит от текущей локали телефона и возвращает правильное двойное значение.

надеюсь, это поможет;

0 голосов
/ 03 февраля 2012

сначала вы должны избавиться от "(тонны)", что может быть достигнуто с помощью метода String, например

String inputString = "10 (ton)";
String str = inputString.split(" ")[0];

После этого просто проанализируйте двойное значение

Double dbl = Double.parseDouble(str);

Кстати: не уверен, хотите ли вы перейти от двойной к строке или наоборот

0 голосов
/ 03 февраля 2012

Проверьте эти методы Double.parseDouble() и Double.toString(), используйте эти функции для преобразования double в строку или наоборот.

0 голосов
/ 03 февраля 2012

Вы должны разобрать эту строку. Здесь - некоторый пример. Также используйте search .

...