如何获取十六进制输入并将其转换为十进制?

时间:2013-06-27 03:40:57

标签: android textview android-edittext

我有一个EditText用户输入十六进制数字,我想将其转换为十进制数字并显示在TextView上,但我甚至无法显示十六进制数字TextView因为异常:“无法将'String'解析为整数。 我只能在TextView上显示数字。当我输入字符时,它会抛出异常。

以下是一段代码:

EditText edText1 = (EditText) findViewById(R.id.editText1);
TextView result = (TextView) findViewById(R.id.textView1);
result.setText(""+ Integer.parseInt(edText1.getText().toString(), 16));

1 个答案:

答案 0 :(得分:2)

在我看来,由于edText1.getText()的初始情况,您收到错误。当textfield为空时,它仍会存储值 - """"仍然是String但仍有内容,但它不是整数。所以,当你在Integer.parseInt()上做result.setText("" + Integer.parseInt("", 16)); 时,它会做如下的事情:

""

String显然不是整数或十六进制,但它仍然是{{1}},因此格式化时出现问题,然后抛出错误。