我有一个EditText,用于浮点数。所以我试图从EditText中读取文本并将其放入float变量中。但我似乎有一个文本浮动问题。这就是我的路线:
float Number = ( ( EditText )findViewById( R.id.edit_float ) ).getText();
我尝试过使用Float.parseFloat(字符串)和一般的强制转换,但似乎没有做到这一点。我能在这做什么?另外,有没有办法在将有效的浮点数写入变量之前检查它?
答案 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()。