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.