Skip to content

Commit

Permalink
tlib#number: Base conversion
Browse files Browse the repository at this point in the history
  • Loading branch information
tomtom committed Dec 18, 2012
1 parent 236eaed commit b82141b
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions autoload/tlib/number.vim
@@ -0,0 +1,30 @@
" @Author: Tom Link (mailto:micathom AT gmail com?subject=[vim])
" @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
" @Revision: 14


function! tlib#number#ConvertBase(num, base, ...) "{{{3
let rtype = a:0 >= 1 ? a:1 : 'string'
" TLogVAR a:num, a:base, rtype
let rv = []
let num = 0.0 + a:num
while floor(num) > 0.0
let div = floor(num / a:base)
let num1 = float2nr(num - a:base * div)
if a:base <= 10
call insert(rv, num1)
elseif a:base == 16
let char = "0123456789ABCDEF"[num1]
call insert(rv, char)
endif
let num = num / a:base
endwh
" TLogVAR rv
if rtype == 'list'
return rv
else
return join(rv, '')
endif
endf


0 comments on commit b82141b

Please sign in to comment.