Page 1 sur 1

Convertir une Valueur en Alphanumeriques

Posté : 15 nov. 2021, 17:12
par Conquerant381
Bonjour.

Apres avoir fait quelques recherche je n'ai pas trouver ce que je cherche, étant débutant en js c'est encore plus compliqué.
Voici mon problème :
Je voudrais que a partir d'une valeur comme 1 je puisse obtenir la valeur 1. 1->1 mais 11->A et donc 36->Z
Mais a partir de la valeur 37 j'aurais 37->11, 47->1A. (Jusqu'à l'infini)
J'espère que vous avez compris mon problème.

Si vous avez des questions vous pouvez me demander plus d'informations :)

Merci.

Re: Convertir une Valueur en Alphanumeriques

Posté : 16 nov. 2021, 14:32
par webmaster
Bonjour,

Il s'agit d'une conversion de base 37, comparable à l'hexadecimal
Voici donc la fonction
<script>
var val=100;


function tjsConvertDecimalToBase(decimal, base) {
base=parseInt(base);
if (base==0) {return NaN;}
var bases=["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 result="";
var reste=decimal;
var tmp1=0;
for (var i=32; i>=0; i--) {
tmp=Math.floor(reste/Math.pow(base,i));
if ((tmp>0)||(result!="")) {
result+=bases[tmp];
reste=reste-tmp*Math.pow(base,i);
}
}
return result;
}

console.log(tjsConvertDecimalToBase(1, 37));
console.log(tjsConvertDecimalToBase(5, 37));
console.log(tjsConvertDecimalToBase(11, 37));
console.log(tjsConvertDecimalToBase(37, 37));
console.log(tjsConvertDecimalToBase(47, 37));


</script>

Je l'ai modifiée depuis le script :
https://www.toutjavascript.com/tools/co ... ecimal.php

Re: Convertir une Valueur en Alphanumeriques

Posté : 16 nov. 2021, 18:13
par Conquerant381
Un grand merci a toi.
Il y a juste une petite erreur dans ton code si je ne me trompe pas (Alphanumeriques est une base 36 et non 37 10 Chiffres 26 Lettres)
Sinon tout est parfait tu m'as bien aider :D

Re: Convertir une Valueur en Alphanumeriques

Posté : 16 nov. 2021, 18:54
par webmaster
Oui, bien sur c'est une base 36

Content que ca te soit utile