从EditText到float的字符串

Esp*_*pen 15 java android

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

float Number = ( ( EditText )findViewById( R.id.edit_float ) ).getText();
Run Code Online (Sandbox Code Playgroud)

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

Oct*_*ean 37

试试这个.

EditText edt = (EditText) findViewById(R.id.edit_float);
float number = Float.valueOf(edt.getText().toString());
Run Code Online (Sandbox Code Playgroud)

valueOf()如果Float包装类将字符串转换为float,则使用该方法.在这个例子中,我得到Editable的是物体EditTextgetText()上我所说的toString()方法从中获得一个字符串.

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

  • 在那个问题上,我想知道谷歌为什么选择这样做?我认为单独的`Editable getEditable()`和`String getText()`方法会更清楚,不是吗? (3认同)
  • 试试edt.getText().toString() (2认同)
  • `getText()`返回`Editable`.你需要使用`edt.getText().toString();`.编辑:打1分钟.:P (2认同)