cs_fhalckon
Messages postés3Date d'inscriptionmercredi 27 août 2003StatutMembreDernière intervention17 janvier 2005
-
17 janv. 2005 à 13:51
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 2010
-
20 août 2005 à 11:16
J'ai juste un petit bug lorsque la conversion donne 0, le 0 ne s'indique pas
C'est un script que j'ai copier ici (decimal to hexa) que j'ai légerement modifier.
Une idée ?
<script language="JavaScript">
function DecTo36(n)
{
var tblCode = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z");
var BASE=36;
var Num = parseInt(n, 10);
var i;
var strHex = "";
if (! isNaN(Num)){
while (Num>0){
i=0;
while(Num/Math.pow(BASE, i++)>=BASE);
strHex += tblCode[Math.floor(Num/Math.pow(BASE, i-1))];
if (Num%BASE==0) strHex+="0";
Num = (Num % Math.pow(BASE, i-1));
}
return strHex;
}
else return 0;
}
function DecTo36 (number) {
var list = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var dec = 0;
for (var i = 0; i <= number.length; i++) {
dec += (list.indexOf(number.charAt(i))) * (Math.pow(10 , (number.length - i - 1)));
}
number = "";
var magnitude = Math.floor((Math.log(dec))/(Math.log(36)));
for (var i = magnitude; i >= 0; i--) {
var amount = Math.floor(dec/Math.pow(36,i));
number = number + list.charAt(amount);
dec -= amount*(Math.pow(36,i));
}
return number;
}