সি # প্যাডিং শূন্যের সাথে স্ট্রিংয়ে রূপান্তর করুন?


438

সি # তে আমার একটি পূর্ণসংখ্যা মান রয়েছে যা স্ট্রিংয়ে পৌঁছে দেওয়া দরকার তবে এর আগে এটি শূন্য যুক্ত করা দরকার:

উদাহরণ স্বরূপ:

int i = 1;

আমি যখন এটিকে স্ট্রিংয়ে রূপান্তর করি তখন এটি 0001 হওয়া দরকার

আমার সি # তে সিনট্যাক্সটি জানতে হবে।


উত্তর:


708

i.ToString().PadLeft(4, '0')- ঠিক আছে, তবে নেতিবাচক সংখ্যার জন্য কাজ করে না
i.ToString("0000");- সুস্পষ্ট ফর্ম
i.ToString("D4");- সংক্ষিপ্ত ফর্ম্যাট নির্দিষ্টকরণকারক
$"{i:0000}";- স্ট্রিং ইন্টারপোলেশন (সি # 6.0+)


28
i.ToString ()। প্যাডলফ্ট (4, '0') নেতিবাচক সংখ্যার জন্য কাজ করে না, উদাহরণস্বরূপ (-5)। প্যাডলফ্ট (4, '0') হবে "00-5"
অ্যান্টোনিও বাকুলা

5
কিভাবে স্থির দৈর্ঘ্যের সাথে একটি স্ট্রিং প্রদর্শিত হবে। ??
মার্ক ম্যাকনিল বাইকিও

3
@ রাহুল এটি পড়ুন: এমএসডিএন.মাইক্রোসফটকম
en

2
এইভাবে আমার জন্য কাজ করেছে স্ট্রিং. ফরম্যাট ("{0: D4}", সংখ্যা);
আর্থার মেলো

14
স্ট্রিং ফর্ম্যাট শর্টকাট ব্যবহার করে যেমন works "{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

66

তুমি ব্যবহার করতে পার:

int x = 1;
x.ToString("0000");

26
এবং একই বিন্যাসের স্ট্রিংটি ব্যবহার করার জন্য দ্বিতীয় উপায়:string.Format("{0:0000}", x)
Yodan Tauber





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"  

এটি পরিবর্তন করে এমন একটি সংখ্যার সাথে আপনার স্ট্রিংয়ের একটি নির্দিষ্ট দৈর্ঘ্য থাকলে এটি কাজ করে। এর জন্য ধন্যবাদ! :)
ফেন Ignacio

0
int p = 3; // fixed length padding
int n = 55; // number to test

string t = n.ToString("D" + p); // magic     

Console.WriteLine("Hello, world! >> {0}", t);

// outputs: 
// Hello, world! >> 055

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
আপনি কেন আমার উত্তরকে মূলধনী বা বাক্য কাঠামোর জন্য সম্পাদনা করছেন? এটি কি প্রয়োজনীয়? বিকাশকারীর বাক্য কাঠামোর ক্ষেত্রে নয় কোডে উদ্বেগ থাকা উচিত
শক্তিপ্রসাদ সোয়াইন

@ আনহেলিগ আমি স্ট্যাকওভারফ্লোতে নতুন I আমি মনে করি আপনি আমার উত্তরটি সম্পাদনা করলে আমার বক্তব্য হ্রাস পাবে।
শক্তিপ্রসাদ

3
আপনি যেমন উল্লেখ করেছেন, আপনি এই সম্প্রদায়ে নতুন এবং সম্পাদনা সিস্টেমের সাথে অপরিচিত, আপনি সম্প্রদায়ের দ্বারা প্রস্তাবিত ও অনুমোদিত যে সম্পাদনাটি থেকে কোনও পয়েন্ট হারাবেননি। সম্পাদনাগুলি করা হয়েছিল যা আপনার জবাবটি উল্লেখযোগ্যভাবে উন্নত করেছে
সিকিউরিটি হাউন্ড

1
ভোটদান আসলে বেনামে। ডাউনটোটটি ব্যাকরণের কারণে জারি করা হয়েছিল। আপনি যদি সম্পাদনা প্রস্তাবটি গ্রহণ করে থাকেন তবে আপগ্রেড হত
সিকিউরিটি হুন্ড


-5

উভয় নেতিবাচক হতে পারে যখন int iএর স্ট্রিং দৈর্ঘ্যের সাথে মেলে প্যাড করতে int x:

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

2
অযৌক্তিকভাবে বিভ্রান্তকারী বিশেষত যখন খুব সাধারণ সমাধান হয়।
Juls
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.