Bonjour,
je travaille sur un convertisseur décimal vers hexadécimal.
Je sais qu'il existe des fonctions toutes faites (toString(16)) mais ce n'est pas le but de cet exercice.
Mon code fonctionne et me retourne bien un résultat mais seulement en entier.
Par exemple pour 155 tapé, j'ai comme résultat 911 au lieux de 9B
Comment puis-je fais pour que cela fonctionne?
Si tous les entiers étaient convertis en char des conditions if == 10 suffiraient -elle?
Voici mon code :
Modifié par Kalika (08 Feb 2013 - 13:34)
je travaille sur un convertisseur décimal vers hexadécimal.
Je sais qu'il existe des fonctions toutes faites (toString(16)) mais ce n'est pas le but de cet exercice.
Mon code fonctionne et me retourne bien un résultat mais seulement en entier.
Par exemple pour 155 tapé, j'ai comme résultat 911 au lieux de 9B
Comment puis-je fais pour que cela fonctionne?
Si tous les entiers étaient convertis en char des conditions if == 10 suffiraient -elle?
Voici mon code :
<script>
function Dectohex_onClick()
{
var valhex = document.getElementById( "valhex" ) ;
var result = document.getElementById( "result" ) ;
var dechex = valhex.value ;
var valt ;
var tab=[] ;
var i = 0 ;
var chiffres = new RegExp("[^0-9]");
if (chiffres.test(dechex))
{
alert("Vous n'avez pas saisi un nombre décimale !");
document.getElementById("valhex").style.backgroundColor='#F7230C'
}
else
{
document.getElementById("valhex").style.backgroundColor='#FFFFFF'
while( dechex >= 1 )
{
valt=dechex%16 ;
tab[i]=valt ;
dechex=parseInt(dechex/16) ;
i++ ;
}
}
tab.reverse() ;
result.value = tab.join("")
}
</script>
<label>Valeur décimale</label>
<input id="valhex" />
<br>
<label>Convertis en hexa : </label>
<input id="result" />
<br>
<button onclick="Dectohex_onClick() ;">Convertir en hexa !</button>
[/i] Modifié par Kalika (08 Feb 2013 - 13:34)