将TextView值转换为double变量

时间:2014-10-24 02:28:00

标签: android

在前面我设置了这样的文本,priceFormat是S $%。2f。

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

现在我想将它转换为双变量,我绝对认为我必须使用priceFormat,但我不知道如何。这个底线是错误的。

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

2 个答案:

答案 0 :(得分:0)

你需要将textPrice.getText()转换为String,因为它的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");
}

答案 1 :(得分:-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