I haven't worked a lot with conversions, maybe I have some flaws in my logic. Here is my logic: 1. First I create a method that verifies if the input ins correct. It tries to parse the number to base 10 using Long.parseLong(value,radix). If the input is not correct it will throw an exception. 2.If the convertNumberToOtherNumberSystem method, I convert the number.getDigit() to a base 10 long using Long.parseLong(number.getDigit(), number.getNumberSystem().getNumberSystemIntValue()) 3. I create a string representation of the required base number from the decimal number that I created at step 2 using the method Long.ToString(decimalNumber, required base) 4. I return the new Nubmer.