2009-08-16 7 views
15

संभव डुप्लिकेट:
How can I create a Zerofilled value using JavaScript?मैं मनमानी आधार में किसी संख्या का शून्य-गद्देदार स्ट्रिंग प्रस्तुति कैसे बना सकता हूं?

जब मैं 16 हेक्स जावास्क्रिप्ट का उपयोग के आधार के लिए आधार 10 से # कनवर्ट करते हैं, यह नहीं शून्य पैड संख्या है।

उदाहरण के लिए:

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

कोई आसान तरीका शून्य पैड मेरा नंबर करने के लिए लंबाई में 2 अंकों का होना करने के लिए?

+0

देखें: http://stackoverflow.com/questions/1267283/how-can- i-create-a-zerofilled-value-use-जावास्क्रिप्ट – Shog9

+1

"0x" + ((नया ऐरे (8 + 1))। ("0") + parseInt (num, 10) .toString (16))। substr (-8) .toUpperCase() –

उत्तर

22

आम तौर पर

की तरह कुछ आप लंबाई अग्रिम तुम सिर्फ कर सकते हैं (कुछ) की तरह जानते हैं:

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

बहुत रचनात्मक, +1 –

+10

याद रखें कि आप पिछले दो अंकों के लिए '.substr (-2)' का उपयोग कर सकते हैं। –

+2

मैं ईमानदारी से 'डुप्लिकेट' ध्वज से सहमत नहीं हूं। यह एक बहुत साफ और सरल समाधान है जो सामान्य पैडिंग समस्या से बिल्कुल संबंधित नहीं है। यह किसी भी आधार में हस्ताक्षरित पूर्णांक के लिए करेगा, maxPad आउटपुट स्ट्रिंग लंबाई है। यह स्पष्ट रूप से पहले इनपुट नंबर पर एक चेक की आवश्यकता है, यह देखने के लिए कि क्या यह ((Math.pow (बेस, maxPad) + संख्या) (। Math.pow (बेस, maxPad) + संख्या) को परिवर्तित करने के बाद अधिकतम लंबाई से अधिक है() .StString (base) .slice (1, maxPad +1) – malber

संबंधित मुद्दे