2012-11-26 12 views
6

15955067621307336078.toString(36); zwraca '3d7vzfy5k2as8' w języku JavaScript, ponieważ nie można przedstawić dużej liczby całkowitej (poprawna odpowiedź to '3d7vzfy5k29ou').JavaScript: toString (36) dla dużych liczb całkowitych

Czy ktoś ma sprytną funkcję, która pobiera dużą liczbę całkowitą jako ciąg znaków i przekształca ją w bazę 36?

+1

Gdzie podstawa-36 to [0-9a-z]? – Cameron

+2

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

+0

Właściwie otrzymuję '" 3d7vzfy5k2a68 "' dla '15955067621307336078..toString (36)' – Bergi

Odpowiedz

6

Użyj this BigInt class, który pozwala na konwersję dowolnie dużych liczb całkowitych na dowolną dowolną podstawę między 2 a 95. Użyj metody bigInt2str(), aby wykonać konwersję.

+1

Dzięki temu działało świetnie. 'bigInt2str (str2bigInt (" 15955067621307336078 ", 10,0,0), 36) .toLowerCase();' – Meekohi

Powiązane problemy