2009-05-15 7 views

Répondre

5

Le deuxième argument optionnel de parseInt est la base.

parseInt("0xff", 16); 
// yields 255 
+0

+1 - En outre, le "0x" est facultatif lors de la spécification de la base, donc 'x == parseInt (Integer.toHexString (x), 16)'. –

1

reconvertir en un entier ...

var s = "FFFFFF"; 
var n = parseInt("0x"+ s); 
+0

En fait, c'est juste une coïncidence que "0xff" analyse 255 sans une base, parce que la plupart des implémentations JS lisent le "0x" et continuent à analyser le reste en hexadécimal. Malheureusement, la sortie de la plupart des procédures int-> hex omet le "0x" et ne fonctionnerait pas dans ce cas. –

+0

P.S. Désolé, je vois que vous faites parseInt ("0x" + s), mais je dirais que ce n'est pas optimal quand vous avez d'autres options. –

+0

Je ne vois vraiment pas en quoi ce que je fais est différent de ce que vous faites. Il attribue la valeur hexadécimale à une variable chaîne, ce que je fais directement alors que dans son exemple il utilise Integer.toHexString, et je fais exactement la même chose que vous, mais je ne spécifie pas la base, qui est facultative de toute façon. Donc, je ne suis pas votre point ... – BenAlabaster

0

Vous pouvez lancer la valeur hexadécimale comme un "numéro". Par exemple:

foo = Number(0xDEADBEEF) 

Espérons que cela aide.

Questions connexes