我想从EditText接受数字输入并将其转换为指定的基数,
即如果输入是二进制,我想将其转换为十六进制。
我知道有一些预定义的函数可以将十进制转换为其他基数,但是当输入不是十进制时,我找不到如何转换的方法。
任何帮助,将不胜感激。
谢谢。
最佳答案
请尝试以下代码,
public void dec(View view)
{
try
{
EditText decimal = (EditText) findViewById(R.id.editDec);
EditText hex = (EditText) findViewById(R.id.editHex);
EditText bin = (EditText) findViewById(R.id.editBin);
EditText oct = (EditText) findViewById(R.id.editOct);
int deci = Integer.parseInt(decimal.getText().toString().trim());
System.out.println ( "Original " + deci );
System.out.println ( "Hexa : " + Integer.toHexString(deci) );
System.out.println ( "Deci :" + Integer.toBinaryString(deci));
System.out.println ( "Oct : " + Integer.toOctalString(deci) );
hex.setText(String.valueOf(Integer.toHexString(deci)));
bin.setText(String.valueOf(Integer.toBinaryString(deci)));
oct.setText(String.valueOf(Integer.toOctalString(deci)));
}
catch ( Exception e )
{
System.out.println ( "Exception : " + e.toString() );
}
}