पैडिंग शून्य के साथ स्ट्रिंग के लिए सी # कन्वर्ट int?


438

C # में मेरे पास एक पूर्णांक मान है जिसे स्ट्रिंग में कनवर्ट करने की आवश्यकता है लेकिन इससे पहले शून्य जोड़ना होगा:

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

int i = 1;

जब मैं इसे स्ट्रिंग में परिवर्तित करता हूं तो इसे 0001 बनने की आवश्यकता होती है

मुझे C # में सिंटैक्स जानना होगा।


1
इससे आपको मदद मिल सकती है - How to: Pad a Number with Leading Zeros । सौभाग्य
Koonwah

जवाबों:


708

i.ToString().PadLeft(4, '0')- ठीक है, लेकिन नकारात्मक संख्याओं के लिए काम नहीं करता है
i.ToString("0000");- स्पष्ट रूप
i.ToString("D4");- लघु रूप प्रारूप विनिर्देशक
$"{i:0000}";- स्ट्रिंग प्रक्षेप (सी # 6.0+)


28
i.ToString ()। PadLeft (4, '0') नकारात्मक संख्याओं के लिए काम नहीं करता है, (-5) (.PadLeft (4, '0') "00-5" होगा
एंटोनियो बकुला

5
कैसे तय लंबाई के साथ एक स्ट्रिंग प्रदर्शित करने के लिए। ??
मार्क मैकनील बाइकियो

3
@ राहुल इसे पढ़ें: msdn.microsoft.com/en-us/library/…
Kevdog777

2
इस तरह से मेरे लिए काम किया String.Format ("{0: D4}", संख्या);
आर्थर मेलो

14
स्ट्रिंग प्रारूप शॉर्टकट का उपयोग करना भी काम करता है जैसे $ "{i: D4}";
जेम्ससुग्रे जुले


118

यहाँ एक अच्छा उदाहरण है:

int number = 1;
//D4 = pad with 0000
string outputValue = String.Format("{0:D4}", number);
Console.WriteLine(outputValue);//Prints 0001
//OR
outputValue = number.ToString().PadLeft(4, '0');
Console.WriteLine(outputValue);//Prints 0001 as well




4

बहुत आसान

int i = 1;
i.ToString("0###")

3
पता नहीं क्यों आपने नीचे काम किया और ऑप्स के सवाल का जवाब दिया
maeneak


2

.NET का Stringक्लास में एक आसान कार्य है । महज प्रयोग करें:

.ToString().PadLeft(4, '0')  // that will fill your number with 0 on the left, up to 4 length

int i = 1; 
i.toString().PadLeft(4,'0')  // will return "0001"  

यह तब काम करता है जब आपके पास एक नंबर के साथ स्ट्रिंग की एक निश्चित लंबाई होती है जो बदल जाती है। इसके लिए धन्यवाद! :)
फेन इग्नासियो


0
public static string ToLeadZeros(this int strNum, int num)
{
    var str = strNum.ToString();
    return str.PadLeft(str.Length + num, '0');
}

// var i = 1;
// string num = i.ToLeadZeros(5);

-2

यहां मैं अपना नंबर 4 अंकों के साथ पैड करना चाहता हूं। उदाहरण के लिए, यदि यह 1 है तो इसे 0001 के रूप में दिखाना चाहिए, यदि यह 11 है तो इसे 0011 के रूप में दिखाना चाहिए।

नीचे वह कोड दिया गया है जो इसे पूरा करता है:

reciptno=1; // Pass only integer.

string formatted = string.Format("{0:0000}", reciptno);

TxtRecNo.Text = formatted; // Output=0001

मैंने एक पीडीएफ फाइल के लिए धन प्राप्ति संख्या उत्पन्न करने के लिए इस कोड को लागू किया।


1
आप मेरे उत्तर को केवल कैपिटल लेटर या वाक्य संरचना में संपादित कर रहे हैं। क्या यह आवश्यक है? एक डेवलपर को कोड संरचना में नहीं कोड में चिंता होनी चाहिए
saktiprasad swain

@ यूनेहिलिग मैं स्टैकओवरफ्लो के लिए नया हूँ। मुझे लगता है कि जब मेरा उत्तर संपादित किया गया तो मेरी बात कम हो गई।
सक्तीप्रसाद

3
जैसा कि आप बताते हैं, आप इस समुदाय के लिए नए हैं और संपादन प्रणाली से अपरिचित हैं, आपने उस संपादन से कोई अंक नहीं खोया है जो समुदाय द्वारा प्रस्तावित और स्वीकृत था। जो संपादन वास्तव में किए गए थे, उनमें आपके उत्तर में काफी सुधार हुआ है
सिक्योरिटी हाउंड

1
मतदान वास्तव में गुमनाम है। खराब व्याकरण के कारण गिरावट जारी की गई थी। यदि आपने संपादित प्रस्ताव स्वीकार कर लिया होता तो उत्थान होता
सुरक्षा हुन


-5

पैड int iकी स्ट्रिंग लंबाई से मेल खाने के लिए int x, जब दोनों नकारात्मक हो सकते हैं:

i.ToString().PadLeft((int)Math.Log10(Math.Abs(x < 0 ? x * 10 : x)) + 1, '0')

2
अनावश्यक रूप से भ्रमित करना विशेष रूप से जब एक बहुत सरल समाधान होता है।
जेल्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.