2012-11-26 1 views
6

15955067621307336078.toString(36); renvoie '3d7vzfy5k2as8' en Javascript car le grand nombre entier ne peut pas être représenté (la bonne réponse est '3d7vzfy5k29ou').Javascript: toString (36) pour les grands entiers

Est-ce que quelqu'un a une fonction intelligente qui prend un grand entier sous forme de chaîne et le convertit en base 36?

+1

Où base-36 est [0-9a-z]? – Cameron

+2

@Cameron: http://en.wikipedia.org/wiki/Base_36 –

+0

En fait, je reçois '" 3d7vzfy5k2a68 "' pour '15955067621307336078..toString (36)' – Bergi

Répondre

6

Utilisez this BigInt class, qui permet de convertir des entiers arbitrairement grands en n'importe quelle base arbitraire entre 2 et 95. Utilisez la méthode bigInt2str() pour effectuer la conversion.

+1

Merci cela a bien fonctionné. 'bigInt2str (str2bigInt (" 15955067621307336078 ", 10,0,0), 36) .toLongueCase();' – Meekohi