更改数字输入的基础(android)

时间:2012-02-20 02:47:51

标签: java android

我想从EditText中获取数字输入并将其转换为指定的基础

即。如果输入是二进制,我想将其转换为十六进制。

我知道有用于将十进制转换为其他基数的预定义函数,但是当输入不是十进制时我找不到如何转换。

任何帮助都将不胜感激。

感谢。

1 个答案:

答案 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() );
    }
}