2009-08-16 6 views
15

Powiel możliwe:
How can I create a Zerofilled value using JavaScript?Jak utworzyć zerową linię reprezentacji ciągu w dowolnej bazie?

Kiedy przekonwertować # od podstawy 10 do podstawy 16 hex za pomocą JavaScript, to nie ma zera pad numer.

Na przykład:

var myBaseTenNumber = 0; 
myBaseTenNumber.toString(16); // should be 00 but it's just 0 

Wszelkie łatwy sposób do zera pad mój numer będzie 2 cyfr?

+0

Patrz: http://stackoverflow.com/questions/1267283/how-can- i-create-a-zerofilled-value-using-javascript – Shog9

+1

"0x" + ((nowa tablica (8 + 1)) join ("0") + parseInt (num, 10) .toString (16)) substr (-8) .toUpperCase() –

Odpowiedz

22

Generalnie coś

Jeśli znasz długość upfront można po prostu zrobić (coś):

var temp = myBaseTenNumber.toString(16); 
("00" + myBaseTenNumber.toString(16)).substring(2 - temp.length, 2); 
+0

Bardzo kreatywny, +1 –

+10

Pamiętaj, że możesz użyć '.substr (-2)' dla dwóch ostatnich cyfr. –

+2

Szczerze nie zgadzam się z flagą "duplikat". Ma to bardzo schludne i proste rozwiązanie, absolutnie niezwiązane z ogólnym problemem wypełnienia. Powoduje to niepodpisane liczby całkowite w dowolnej bazie, maxPad to długość ciągu wyjściowego. Oczywiście najpierw trzeba sprawdzić numer wejściowy, aby sprawdzić, czy przekroczy on maksymalną długość po przekształceniu ((Math.pow (podstawa, maxPad) + liczba)). ToString (baza) .slice (1, maxPad +1) – malber

Powiązane problemy