将String转换为double

时间:2011-08-22 21:09:21

标签: android parsing numberformatexception

有没有办法将字符串转换为double。这就是我的做法。

String s = b.getText().toString();
       double d = Double.parseDouble(s);

它提供NumberFormatException

3 个答案:

答案 0 :(得分:3)

试试这个

String s = b.getText()。toString(); double d = Double.valueOf(s.trim())。doubleValue();

答案 1 :(得分:0)

你可能开始使用零长度字符串。在解析之前检查长度。捕获NumberFormatException也没有什么坏处,尽管如果在视图的布局中有android:inputType="number",这应该不会有问题。

double d = 0;
CharSequence cs = b.getText();
if(cs != null && cs.length() > 0) {
    d = Double.parseDouble(cs.toString());
}

答案 2 :(得分:0)

我有类似的问题。 为了正确格式化EditText文本内容为double值我使用此代码:

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;
    }

这与当前手机区域设置不同,并返回正确的双倍值。

希望它有所帮助;