Me ha surgido en una aplicación el tener que convertir números de 23 cifras a hexadecimal. La función nativa de velneo, numberToStringHex tiene un límite de rango int de 32 bits con signo (2147483648).
Probando con la api de javascript, la función toString(16) también debe tener una limitación, que no permite la conversión completa de números tan grandes.
Finalmente he conseguido hacerlo utilizando una función que he encontrado y que dejo aquí, por si a alguien le surge un caso parecido.
===================================================
function dec2hex(str){
var dec = str.toString().split(''), sum = [], hex = [], i, s
while(dec.length){
s = 1 * dec.shift()
for(i = 0; s || i < sum.length; i++){
s += (sum[i] || 0) * 10
sum[i] = s % 16
s = (s - sum[i]) / 16
}
}
while(sum.length){
hex.push(sum.pop().toString(16))
}
return hex.join('')
}
===============================================
Un saludo