2009-08-16 7 views
15

Olası Çoğalt: Ben JavaScript kullanarak 16 onaltılık dayandırmak için, 10 tabanında bir # dönüştürmek
How can I create a Zerofilled value using JavaScript?Rasgele bir tabanda sayıların sıfır dolgulu bir dizgi temsilini nasıl oluşturabilirim?

, değil sıfır ped numarasını yapar. Örneğin

:

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

Herhangi kolay yolu benim sayısal tuş takımı sıfıra uzunluğunda 2 basamak olunur?

+0

bakınız: http://stackoverflow.com/questions/1267283/how-can- I-create-a-zerofilled-value-using-javascript – Shog9

+1

"0x" + ((yeni Array (8 + 1)). ("0") + parseInt (num, 10) .toString (16)). (-8) .toUpperCase() –

cevap

22

gibi Genellikle şey size sadece (bir şey gibi) yapabilirsiniz peşin uzunluğu biliyorsanız:

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

Çok yaratıcı, +1 –

+10

Son iki hanede '.substr (-2)' yi kullanabileceğinizi unutmayın. –

+2

Gerçekten 'yinelenen' bayrak ile aynı fikirde değilim. Bu, genel doldurma problemiyle kesinlikle ilgili olmayan, çok temiz ve basit bir çözüme sahiptir. Bu, herhangi bir tabanda imzalanmamış tamsayılar için geçerlidir, maxPad çıkış dizesi uzunluğudur. Dönüştürülmüş ((Math.pow (taban, maxPad) + sayı)) (toString (taban) .slice (1, maxPad +1)) değerinden sonra maksimum uzunluğu geçip geçmediğini görmek için öncelikle giriş numarasında bir kontrol gerekir. – malber

İlgili konular