2012-02-20 4 views
1

Я хочу взять цифровой входной сигнал от EditText и преобразовать его в указанной базе,Изменение основы числового ввода (Android)

т.е., если входной является двоичным я хочу, чтобы преобразовать его в шестнадцатеричном формате.

Я знаю, что существуют предопределенные функции для преобразования десятичных чисел в другие базы, однако я не могу найти, как конвертировать, когда ввод не является десятичным.

Любая помощь будет оценена по достоинству.

Спасибо.

ответ

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()); 
    } 
} 
+0

Это выглядит, как он преобразует целые числа для всех других баз .. но мне нужно бинарный на другую базу. – user1220086

+0

Затем вам нужно попробовать в два этапа: сначала двоичный, затем десятичный, а затем десятичный на другую, получив его? – Android