Convertire numeri in qualsiasi base

Con due semplici funzioni è possibile convertire i numeri in qualsiasi base (minore di 26).

Ho posto minore di 26, in modo da utilizzare le lettere dell’alfabeto maiuscole dalla A alla Z.

function num2numBase(number,base){
var rs = "";
var digit = "";
if (base gt 25) {
return "Wrong base";
}
while (number gte base){
number = int(number / base);
digit = num2letter((number MOD base));
rs = digit & rs;
}
if (number gt 0){
rs = num2letter(number) & rs;
}
return rs;
}
function num2letter(number){
if (number gt 9){
// A corrisponde a 65 in ascii, quindi 65 - 10 = 55
number = chr(number + 55);
}
return number;
}
<cfoutput>
Convert 15 in base 16: <b>#num2numBase(15,16)#</b>
</cfoutput>

 

Loading Facebook Comments ...

4 pensieri su “Convertire numeri in qualsiasi base

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *