শীর্ষস্থানীয় শূন্যগুলির সাথে আমি কোনও সংখ্যাকে একটি স্ট্রিংয়ে ফর্ম্যাট করতে পারি কীভাবে?


246

আমার একটি নম্বর রয়েছে যা আমার স্ট্রিংয়ে রূপান্তর করতে হবে। প্রথমে আমি এটি ব্যবহার করেছি:

Key = i.ToString();

তবে আমি বুঝতে পারি এটি একটি অদ্ভুত ক্রম অনুসারে বাছাই করা হচ্ছে এবং তাই আমার এটি জিরো দিয়ে প্যাড করা দরকার। আমি এই কিভাবে করতে পারে?


উত্তর:


344

বরং সহজ:

Key = i.ToString("D2");

D2মুদ্রণের জন্য অঙ্কের সংখ্যার জন্য "দশমিক সংখ্যা" stands


7
যদি আপনি ব্যবহার string.Format("D2", value)আপনি পাবেন D2আউটপুটে। এটি কাজ করে না আমাদের অবশ্যই "{0:00}"এই ক্ষেত্রে ব্যবহার করা উচিত ।
v.oddou

42
string.Format("{0:D2}", value)পরিবর্তে আপনার ব্যবহার করা উচিত । string.Format("D2", ...)আপনার কাছে কোনও স্থানধারক নেই বলে কেবল কিছু বললে কিছুই প্রতিস্থাপন হবে না।
অনন্তপান্ডা

5
@ ইনফিনিটিপাণ্ডা বুঝতে পেরেছেন যে এটি কেবল তখনই কাজ করবে যখন valueকোন ইনট্রি হয়। যদি valueএকটি ডবল, উদাহরণস্বরূপ, এটা হতে হবেstring.Format("{0:00}", value)
derekantrican

যদি আমরা 'শীর্ষস্থানীয় অঙ্কগুলি' নিয়ে কথা বলি তবে আমি মনে করি উত্তরটি হবে I.ToString ("00"); যেখানে "00" নেতৃস্থানীয় শূন্যগুলি উপস্থাপন করে .. আপনি এই পরিমাণটি যতটা সম্ভব বাড়িয়ে তুলতে পারেন।
দেদান

198

স্ট্রিং.ফোরামের কয়েকটি উদাহরণ ব্যবহারের জন্য সি # তে স্ট্রিং বিন্যাস দেখুন

প্রকৃত বিন্যাসের আরও ভাল উদাহরণ

String.Format("{0:00000}", 15);          // "00015"

বা স্ট্রিং ইন্টারপোলেশন ব্যবহার করুন :

$"{15:00000}";                           // "00015"

2
নোট করুন স্ট্রিং.ফোরাম্যাট ("{0: 00000}", "15"); "15" প্রদান করে, অর্থাত এটি স্ট্রিংয়ে কাজ করে না।
পল ম্যাকার্থি

72

আপনি যদি এটির নির্দিষ্ট প্রস্থ রাখতে চান, উদাহরণস্বরূপ 10 সংখ্যা, এটি এটি করুন

Key = i.ToString("0000000000");

আপনার পছন্দ মতো বেশি সংখ্যার সাথে প্রতিস্থাপন করুন।

i = 123তারপরে ফলাফল হবে Key = "0000000123"


63

যেহেতু কেউই এখনও এটি উল্লেখ করেনি, আপনি যদি সি # সংস্করণ 6 বা তদূর্ধের (যেমন ভিজ্যুয়াল স্টুডিও 2015) ব্যবহার করছেন তবে আপনি আপনার কোডটি সহজ করার জন্য স্ট্রিং ইন্টারপোলেশন ব্যবহার করতে পারেন । সুতরাং ব্যবহারের পরিবর্তে string.Format(...), আপনি কেবল এটি করতে পারেন:

Key = $"{i:D2}";

33

ব্যবহার করুন:

i.ToString("D10")

দেখুন Int32.ToString (দুটিই MSDN), এবং স্ট্যান্ডার্ড সাংখ্যিক ফর্ম্যাটে স্ট্রিংস (দুটিই MSDN)।

বা ব্যবহার String.PadLeft। উদাহরণ স্বরূপ,

int i = 321;
Key = i.ToString().PadLeft(10, '0');

ফলাফল হবে 0000000321। যদিও String.PadLeftনেতিবাচক সংখ্যার জন্য কাজ করবে না।

দেখুন String.PadLeft (দুটিই MSDN)।


4
আমি অনুমান করব যে একবার আপনি এটি নেতিবাচক সংখ্যার সাথে ব্যবহার করার চেষ্টা করার পরে আপনাকে স্ক্রু করবে।
মারিও

ধন্যবাদ - আমি দ্বিতীয়টি ব্যবহার করেছি। আমি ".ToString ()" রেখে গেছি - এটি এখনও কার্যকর হয়।
সানসেটকোয়েস্ট

14

সাধারণত স্ট্রিং.ফরমেট ("ফর্ম্যাট", অবজেক্ট) অবজেক্টের চেয়ে পছন্দনীয় o টুস্ট্রিং ("ফর্ম্যাট")। অতএব,

String.Format("{0:00000}", 15);  

তার থেকে ভাল

Key = i.ToString("000000");

4
হ্যাঁ, @ সিজেএ যেমন জিজ্ঞাসা করেছিলেন, এটি কেন পছন্দনীয়? এবং আমি এই দাবির বিরুদ্ধে তর্ক করছি না, আমি কেন তা জানতে চাই।
ক্রিস্টোফার কিং

প্রথম বাক্য গঠন আরও স্পষ্ট, অনুমানযোগ্য এবং পরিষ্কার "অনুভব" করে। এবং এটি কী = স্ট্রিং.ফর্ম্যাট হিসাবে আরও ভালভাবে বর্ণিত হবে ("{0: 00000}", 15); যা কী = i.ToString ("000000") এর সাথে তুলনা করা হচ্ছে; প্রথম বাক্যবিন্যাসের সাথে, আমি বেশ নিশ্চিত যে আমি যে ফলাফলটি পাব ঠিক তা আমি জানি এবং যদি আমি এক চরিত্রের বাইরে চলে যাই তবে ঠিক কী পরিবর্তন করতে হয় তা আমি জানি (ফর্ম্যাট স্ট্রিং So সংক্ষেপে, আমার কাছে এটি পছন্দনীয়) সংবেদনশীল ব্যক্তিগত পছন্দ, দুর্বলভাবে একটি প্রায়-দায়বদ্ধ অর্ধ-কারণ দ্বারা সমর্থিত ;-) তাহলে কি সিদ্ধান্ত নেওয়া হয়?
বিকাশকারী

13

চেষ্টা করুন:

Key = i.ToString("000000");

ব্যক্তিগতভাবে, যদিও আমি দেখতে চাইছি আপনি স্ট্রিং প্রতিনিধিত্বের চেয়ে সরাসরি পূর্ণসংখ্য অনুসারে বাছাই করতে পারেন কিনা।



3

এখানে আমি চাই যে আমার সংখ্যাটি 4 ডিজিটের মধ্যে সীমাবদ্ধ না রাখার মতো এটি যদি এটি 1 হয় তবে এটি 0001 হিসাবে দেখানো উচিত, যদি এটি 11 টি 0011 হিসাবে প্রদর্শিত হয় তবে নীচে কোডগুলি দেওয়া হবে।

        reciptno=1;//Pass only integer.

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

        TxtRecNo.Text = formatted;//Output=0001..

আমি এই কোডটি কার্যকর করেছিলাম নং রশিদ জেনারেট করতে।


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