2014-10-24 2 views
1

Впереди я задал текст так, как если бы ценаFormat была S $%. 2f.Преобразование значения TextView в двойную переменную

textPrice.setText(String.format(priceFormat, item.getPrice())); 

Теперь я хочу, чтобы преобразовать его в двойной переменной, которую я определенно думаю, что я должен использовать в priceFormat, но я понятия не имею, как это делается. Эта нижняя строка неверна.

double Price=Double.parseDouble(textPrice.getText()); 

ответ

-1

вам нужно удалить эту S$ перед разбором, одним из способов является:

String text = textPrice.getText(); 
String priceText = text.split("$")[1].trim(); //splitting numeric characters with the currency characters 
double priceVal = Double.parseDouble(priceText); //parsing it to double 
0

Вы должны преобразовать textPrice.getText() в строку, так как его Double.parseDouble (String) :

double price = Double.parseDouble(mStatus.getText().toString()); 

Вы также должны устранить S $ и замыкающей:.

double price = Double.parseDouble(mStatus.getText().toString().replaceAll("S\\$|\\.$", "")); 

Конечно, вы должны сделать это менее подвержен ошибкам:

double price = 0d; 
try { 
    price = Double.parseDouble(mStatus.getText().toString().replaceAll("S\\$|\\.$", "")); 
} 
catch (NumberFormatException e) { 
    // show an error message to the user 
    textPrice.setError("Please enter a valid number"); 
} 
Смежные вопросы