2 সংখ্যার সাথে প্রদর্শন করতে 0 নম্বর 9 কীভাবে বিন্যাস করবেন (এটি কোনও তারিখ নয়)


215

আমি সর্বদা 2 সংখ্যার সাথে 100 এর নীচে একটি সংখ্যা দেখাতে চাই (উদাহরণস্বরূপ: 03, 05, 15 ...)

এটি 10 ​​এর নীচে কিনা তা পরীক্ষা করার জন্য শর্তযুক্ত ব্যবহার না করে আমি কীভাবে 0 যুক্ত করতে পারি?

আমাকে ফলাফলটি অন্য স্ট্রিংয়ের সাথে যুক্ত করতে হবে, তাই আমি প্রিন্টফ ব্যবহার করতে পারি না।

উত্তর:


528

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

String.format("%02d", myNumber)

আরও দেখুন javadocs


1
যদি মাই নাম্বারটি ডাবল হয়?
ফ্রে

3
@ ফ্রে, আপনি String.format("%02.0f", myNumber)যদি দশমিক পয়েন্টের পরে নম্বরগুলি না চান তবে আপনি ব্যবহার করতে পারবেন
beny23

যারা স্ট্রিং বিন্যাস সিনট্যাক্স সম্পর্কে বিশেষত পড়তে চান তাদের জন্য: ফর্ম্যাট স্ট্রিং সিনট্যাক্স
পনি

এটি একটি অ্যান্ড্রয়েড লিন্টার সতর্কতা উত্পন্ন করবে "স্পষ্টতই ডিফল্ট লোকেল ব্যবহার করা বাগের সাধারণ উত্স: পরিবর্তে স্ট্রিং.ফর্ম্যাট (লোকেল, ...) ব্যবহার করুন"
ক্রিস্টোফার স্টক

1
@ ক্রিস্টোফারস্টক এটি সম্পূর্ণ পৃথক একটি সমস্যা, অ্যাপটি যে ডিভাইসটিতে চলছে তার সঠিক ডিফল্ট লোকেল ব্যবহার করে - আপনি এটিকে উপেক্ষা বা সমাধান করতে পারেন, তবে এটি কেবল অ্যান্ড্রয়েড এবং লোকালগুলির সাথে সম্পর্কিত। আসল স্ট্রিং ফর্ম্যাটিংয়ের সাথে কিছুই করার নেই
রাদু

55

আপনার যদি নম্বরটি প্রিন্ট করতে হয় তবে আপনি প্রিন্টফ ব্যবহার করতে পারেন

System.out.printf("%02d", num);

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

String.format("%02d", num);

অথবা

(num < 10 ? "0" : "") + num;

অথবা

(""+(100+num)).substring(1);

2
ফর্ম্যাট ব্যবহার করা এখন পর্যন্ত সবচেয়ে ধীর, তবে এটি পরিষ্কার এবং মারাত্মক ভুল হওয়ার সম্ভাবনা কম। উদাহরণস্বরূপ যদি সংখ্যা -1 হয়। ;)
পিটার লরে

42

আপনি এটি ব্যবহার করতে পারেন:

NumberFormat formatter = new DecimalFormat("00");  
String s = formatter.format(1); // ----> 01

এটি গ্রহণযোগ্য উত্তর হওয়া উচিত! স্ট্রিং.ফর্ম্যাট মাধ্যমে সমাধানের ফলাফল লোকাল সেটিংসের কারণে পৃথক হতে পারে। (গুলি। অ্যান্ড্রয়েড লিন্টার সতর্কতা "স্পষ্টতই ডিফল্ট লোকেল ব্যবহার করা বাগগুলির একটি সাধারণ উত্স: স্ট্রিং.ফর্ম্যাট ব্যবহার করুন (লোকেল, ...))
ক্রিস্টোফার স্টক


2

অ্যান্ড্রয়েড সংস্থানগুলিতে এটি বরং সহজ

<string name="smth">%1$02d</string>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.