2 annbnncnnd AnnBnnCnnD 于 2013.04.08 13:37 提问

转换EditText到浮点型

如题,我试过这样:

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());

应用就能加载了。应该怎么办?

3个回答

wanglijuan428
wanglijuan428   2013.04.08 14:13
已采纳

你的转换应该是可以的,你需要对输入内容做一些限制,比如输入为""的时候会出现异常。

telencool
telencool   2013.04.09 15:38
EditText edt = (EditText) findViewById(R.id.price);
float number=   Float.parseFloat(edt.getText().toString());
suannai0314
suannai0314 帮你编辑了下代码格式,更多markdown使用见http://ask.csdn.net/pages/markdown
4 年多之前 回复
dongzibin
dongzibin   2013.04.09 13:08

是因为EditText的内容不合法导致的,应该先对EditText的内容做校验,比如可以用正则表达式判断是否是合法字符串。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!