我想从EditText中获取数字输入并将其转换为指定的基础
即。如果输入是二进制,我想将其转换为十六进制。
我知道有用于将十进制转换为其他基数的预定义函数,但是当输入不是十进制时我找不到如何转换。
任何帮助都将不胜感激。
感谢。
答案 0 :(得分:0)
请尝试以下代码,
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() );
}
}