10 এর চেয়ে কম মানটি স্ট্রিংকে দুই অঙ্কের সংখ্যায় রূপান্তর করে


118
string strI;   

for (int i = 1; i < 100; i++)
    strI = i.ToString();

এখানে, i = 1তারপর যদি ToStringফলন"1"

তবে আমি পেতে চাই "01"বা চাই"001"

এটি বেশ সহজ দেখায়, তবে এ সম্পর্কে কেবল নিবন্ধ রয়েছে

datetime.ToString("yyyy-MM-dd")`

সংকলিত এবং রান করা কোডটি পোস্ট করা ভাল, tostirngতা ঠিক নয়। এছাড়াও, প্রোগ্রামারদের কাছে, 0xআপনি হেক্সাডেসিমাল বেসকে উল্লেখ করছেন বলে পরামর্শ দেয়। আপনি "নেতৃস্থানীয় শূন্য" খুঁজছেন।
কোবি

@ কোবি দুঃখিত, আমার মাতৃভাষা ইংরেজি নয় এবং আমার ইংরেজি আসলে খারাপ। এবং আমি আমার ইংরেজি উন্নত করতে প্রতিদিন ইংরেজি স্কুলে যাই go তুমি কি আমাকে বুঝতে পার? এবং আমিtostirng
সুংগুক লিম

ঠিক আছে. শুধু একটি ইঙ্গিত। যাইহোক, int.ToString ঠিক মতো একটি ফর্ম্যাট নিতে পারে DateTime.ToString
কোবি

উত্তর:


242
i.ToString("00")

অথবা

i.ToString("000")

আপনি যা চান তার উপর নির্ভর করে

আরও বিকল্পের জন্য কাস্টম সংখ্যার বিন্যাসের স্ট্রিংগুলিতে এমএসডিএন নিবন্ধটি দেখুন: http://msdn.microsoft.com/en-us/library/0c899ak8(VS.71).aspx


12

গৃহীত উত্তর ভাল এবং দ্রুত:

i.ToString("00")

অথবা

i.ToString("000")

আপনার যদি আরও জটিলতার প্রয়োজন হয় তবে স্ট্রিং.ফর্ম্যাটটি চেষ্টা করার মতো:

var str1 = "";
var str2 = "";
for (int i = 1; i < 100; i++)
{
    str1 = String.Format("{0:00}", i);
    str2 = String.Format("{0:000}", i);
}

জন্য i = 10মামলা:

str1: "10"
str2: "010"

উদাহরণস্বরূপ, আমি নামটি দিয়ে আমার ফর্মটিতে নির্দিষ্ট লেবেল নিয়ন্ত্রণগুলির পাঠ্য সাফ করার জন্য এটি ব্যবহার করি:

private void EmptyLabelArray()
{
    var fmt = "Label_Row{0:00}_Col{0:00}";
    for (var rowIndex = 0; rowIndex < 100; rowIndex++)
    {
        for (var colIndex = 0; colIndex < 100; colIndex++)
        {
            var lblName = String.Format(fmt, rowIndex, colIndex);
            foreach (var ctrl in this.Controls)
            {
                var lbl = ctrl as Label;
                if ((lbl != null) && (lbl.Name == lblName))
                {
                    lbl.Text = null;
                }
            }
        }
    }
}


6

আমি বিশ্বাস করতে পারি না কেউ এটি প্রস্তাব করেনি:

int i = 9;
i.ToString("D2"); // Will give you the string "09"

অথবা

i.ToString("D8"); // Will give you the string "00000009"

আপনি যদি হেক্সাডেসিমাল চান:

byte b = 255;
b.ToString("X2"); // Will give you the string "FF"

এমনকি আপনি যদি মুদ্রার প্রতীকটি স্থানীয় করেন তবে মুদ্রার হিসাবে প্রদর্শন করতে আপনি "সি" ব্যবহার করতে পারেন। এখানে দেখুন: https://docs.microsoft.com/en-us/dotnet/api/system.int32.tostring?view=netframework-4.7.2# সিস্টেম__ইন্ট 32_টোস্ট্রিং_সিস্টেম_সারণ_


5

এই ব্লগ পোস্টটি বিভিন্ন ফরমেটে স্ট্রিংগুলিকে ফর্ম্যাট করার চেষ্টা করার সময় হাতছাড়া করার জন্য দুর্দান্ত এক ছোট্ট চিট শিট।

ট্রোজানের লিঙ্ক সরানো হয়েছে

সম্পাদন করা

লিঙ্কটি সরানো হয়েছে কারণ গুগল অস্থায়ীভাবে সতর্ক করেছিল যে সাইট (বা সম্পর্কিত সাইট) দূষিত সফ্টওয়্যারটি ছড়িয়ে দিচ্ছে। এটি এখন তালিকার বাইরে রয়েছে আর সমস্যাযুক্ত হিসাবে রিপোর্ট করা হচ্ছে না। গুগল "স্টিভএক্স স্ট্রিং ফর্ম্যাটিং" আপনি অনুসন্ধানের ফলাফলটি খুঁজে পাবেন এবং আপনি নিজের বিবেচনার ভিত্তিতে এটি দেখতে পারেন।


1
সেই সাইটটি (এখন) একটি ট্রোজান সতর্কতা ট্রিগার করে।
হেন্ক হলটারম্যান

0

আপনি এটি এইভাবে করতে পারেন

private static string GetPaddingSequence(int padding)
{
      StringBuilder SB = new StringBuilder();
      for (int i = 0; i < padding; i++)
      {
           SB.Append("0");
      }

      return SB.ToString();
  }

public static string FormatNumber(int number, int padding)
{
    return number.ToString(GetPaddingSequence(padding));
}

অবশেষে ফাংশনটি কল করুন ফর্ম্যাট নাম্বার

string x = FormatNumber(1,2);

আউটপুট 01 হবে যা আপনার প্যাডিং প্যারামিটারের উপর ভিত্তি করে। এটি বাড়িয়ে দিলে 0 এর সংখ্যা বাড়বে

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