2016-11-21 19 views
6

के साथ एक स्ट्रिंग पैडिंग मेरे पास एक संख्या है 9 कहें। लेकिन मुझे इसे स्ट्रिंग "09" के रूप में चाहिए।कोणीय 2 या टाइपस्क्रिप्ट बाएं पैडिंग जेरोस

मुझे पता है कि मैं अपना खुद का तर्क लिख सकता हूं। लेकिन मैं एक अंतर्निहित उपयोग समारोह की तलाश में हूं जो इसे पैड कर सकता है।

मैं टाइपस्क्रिप्ट के साथ कोणीय 2 का उपयोग कर रहा हूं। this जैसे कुछ ढूंढ रहे हैं।

बस जावा

String.format("%010d", Integer.parseInt(mystring)); 
+0

सी [मैं एक Zerofilled बना सकते हैं कैसे जावास्क्रिप्ट का उपयोग कर मूल्य?] (http://stackoverflow.com/questions/1267283/how-can-i-create-a-zerofilled-value-using-javascript) –

+0

मुझे नहीं लगता कि कोणीय या कोणीय 2 ऐसी विधि प्रदान करते हैं –

+0

टाइपस्क्रिप्ट और जावास्क्रिप्ट कोई अंतर्निहित प्रारूप या sprintf कार्यों नहीं है। यदि आप चाहें तो आप [थर्ड-पार्टी वन] (http://stackoverflow.com/q/36495685/6923555) का उपयोग कर सकते हैं। – Rodrigo

उत्तर

11

आप इस के लिए अपने स्वयं के समारोह बना सकते हैं की तरह इसी प्रकार के। संख्या को प्रारूपित करने के लिए आपको इसे पहले एक स्ट्रिंग में परिवर्तित करना होगा।

function pad(num, size) { 
    let s = num+""; 
    while (s.length < size) s = "0" + s; 
    return s; 
} 

टाइपप्रति

pad(num:number, size:number): string { 
    let s = num+""; 
    while (s.length < size) s = "0" + s; 
    return s; 
} 

संपादित करें: वहाँ बेहतर और अधिक performant तरीके यह करने के लिए के एक जोड़े हैं। चर्चा देखें इस जवाब में: https://stackoverflow.com/a/9744576/1734678 (मैं प्रस्तुत अधिकतर उत्तर पढ़ने की सलाह देते है, तो आप समय मिल गया)

0
नवीनतम टाइपप्रति साथ

, आप कर सकते हैं:

let myStr:string = padLeft('123', '0', 6); // '000123' 

padLeft(text:string, padChar:string, size:number): string { 
    return (String(padChar).repeat(size) + text).substr((size * -1), size) ; 
} 
संबंधित मुद्दे