如题,我试过这样:
EditText edt = (EditText) findViewById(R.id.price);
float number = Float.valueOf(edt.getText().toString());
但是应用在设备和模拟器上都不加载,返回的信息是:
"the application has stopped unexpectedly. please try again."
并且如果我删除了这一行:
float number = Float.valueOf(edt.getText().toString());
应用就能加载了。应该怎么办?
你的转换应该是可以的,你需要对输入内容做一些限制,比如输入为""的时候会出现异常。
是因为EditText的内容不合法导致的,应该先对EditText的内容做校验,比如可以用正则表达式判断是否是合法字符串。
EditText edt = (EditText) findViewById(R.id.price);
float number= Float.parseFloat(edt.getText().toString());