从EditText到float的字符串

时间:2010-11-19 21:50:11

标签: java android

我有一个EditText,用于浮点数。所以我试图从EditText中读取文本并将其放入float变量中。但我似乎有一个文本浮动问题。这就是我的路线:

float Number = ( ( EditText )findViewById( R.id.edit_float ) ).getText();

我尝试过使用Float.parseFloat(字符串)和一般的强制转换,但似乎没有做到这一点。我能在这做什么?另外,有没有办法在将有效的浮点数写入变量之前检查它?

2 个答案:

答案 0 :(得分:36)

试试这个。

EditText edt = (EditText) findViewById(R.id.edit_float);
float number = Float.valueOf(edt.getText().toString());

如果valueOf()包装器类将字符串转换为float,则使用Float方法。在这个示例中,我得到了Editable EditText的{​​{1}}对象getText(),我在其上调用toString()方法从中获取字符串。

更新:完全正确的家伙抱歉。是时候增加我的羊计数器了。

答案 1 :(得分:-1)

float getFloatFrom(EditText txt) {
    try {
        return NumberFormat.getInstance().parse(txt.getText().toString()).floatValue();
    } catch (ParseException e) {
        return 0.0f;
    }
}

如果您希望代码在使用小数点而不是小数点的国家/地区中工作,请不要使用Float.valueOf()。