Adrian Nier Code

Back to overview

Convert number from decimal

Last modification: Monday, February 15, 2010 11:12 pm

Converts a decimal number to the specified base.

Required parameters
Parameter 1 (integer)
The decimal value to convert from
Parameter 2 (integer)
The base of the number to convert to

Implementation

on convertFromDecimal(_value, _targetBase)
   if _value is not "" then
      set _div to 1
      set _targetValue to ""
      repeat until _div is 0
         set _preliminaryDiv to _value / _targetBase
         
         set _div to round _preliminaryDiv rounding down
         set _remainder to round (_preliminaryDiv - _div) * _targetBase
         if _remainder is greater than 9 then
            if _remainder is 10 then set _remainderString to "A"
            if _remainder is 11 then set _remainderString to "B"
            if _remainder is 12 then set _remainderString to "C"
            if _remainder is 13 then set _remainderString to "D"
            if _remainder is 14 then set _remainderString to "E"
            if _remainder is 15 then set _remainderString to "F"
            set _targetValue to _remainderString & _targetValue as string
         else
            set _targetValue to _remainder & _targetValue as string
         end if
         
         set _value to _div
      end repeat
      
      return _targetValue
   else
      return ""
   end if
   
end convertFromDecimal