2012-11-26 23 views
6

15955067621307336078.toString(36); restituisce '3d7vzfy5k2as8' in Javascript perché il grande numero intero non può essere rappresentato (la risposta corretta è '3d7vzfy5k29ou').Javascript: toString (36) per i numeri interi grandi

Qualcuno ha una funzione intelligente che prende un intero grande come stringa e lo converte in base 36?

+1

Dove la base-36 è [0-9a-z]? – Cameron

+2

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

+0

In realtà, ricevo "" 3d7vzfy5k2a68 "' per '15955067621307336078..toString (36)' – Bergi

risposta

6

Utilizzare this BigInt class, che consente la conversione di numeri interi arbitrariamente grandi su qualsiasi base arbitraria tra 2 e 95. Utilizzare il metodo bigInt2str() per eseguire la conversione.

+1

Grazie, ha funzionato alla grande. 'bigInt2str (str2bigInt (" 15955067621307336078 ", 10,0,0), 36) .toLowerCase();' – Meekohi