نعلم جميعًا أن البرامج تحتاج أحيانًا إلى تنسيق الأرقام، فما هو تنسيق الأرقام؟ ما يسمى بالتنسيق الرقمي هو الحصول على سلسلة وفقًا للتنسيق المحدد.
على سبيل المثال، لنفترض أننا نريد أن يحتفظ الرقم 3.141592 بما يصل إلى منزلتين عشريتين، فيجب أن تكون السلسلة المنسقة الناتجة 3.14؛ إذا أردنا تجميع العدد الصحيح 123456789 في "الآلاف"، فيجب أن تكون السلسلة المنسقة الناتجة 123,456,789؛ الرقم 12.3456 للاحتفاظ بثلاثة منازل عشرية، ويجب أن يعرض الجزء الصحيح 3 أرقام على الأقل، ثم يجب أن تكون السلسلة المنسقة التي تم الحصول عليها هي 012.346.
قبل JDK 1.5، كانت البرامج تحتاج إلى استخدام الفئات ذات الصلة في حزمة java.text، مثل فئة DecimalFormat ، لتنسيق البيانات الرقمية. يوفر الإصدار JDK 1.5 فئة Formatter أكثر ملاءمة. توفر فئة Formatter طريقة تنسيق مشابهة لوظيفة printf في لغة C:
التنسيق (وضع التنسيق، قائمة القيم)
تقوم هذه الطريقة بإرجاع تمثيل سلسلة لـ "قائمة القيم" وفقًا لـ "وضع التنسيق".
حاليًا، جعلت Java طريقة التنسيق طريقة ثابتة لفئة السلسلة، لذلك يمكن للبرنامج استخدام فئة السلسلة مباشرة لاستدعاء طريقة التنسيق لتنسيق الأرقام.
"وضع التنسيق" في طريقة التنسيق هو تسلسل أحرف محاط بعلامات اقتباس مزدوجة، أي سلسلة تتكون من أحرف تنسيق وأحرف عادية.
على سبيل المثال: %d و%f في نتائج الإخراج %d، %f، %d هي رموز تنسيق، الأحرف الصينية الأربعة الأولى والفاصلتان في المنتصف هي أحرف عادية يعتبر رمز التنسيق حرفًا عاديًا. يمكن للطلاب الرجوع إلى فئة java.util.Formatter في Java API لمعرفة المزيد حول أحرف التنسيق. السلسلة التي يتم إرجاعها بواسطة أسلوب التنسيق هي السلسلة بعد استبدال أحرف التنسيق في "وضع التنسيق" بالنتائج المنسقة التي تحصل عليها، على سبيل المثال:
Strings=String.format(%.2f,3.141592);
إذن s هي 3.14، لأن نتيجة تنسيق %.2f 3.141592 هي 3.14.
"قائمة القيم" في أسلوب التنسيق عبارة عن قائمة مفصولة بفواصل من المتغيرات أو الثوابت أو التعبيرات. تأكد من أن عدد أحرف التنسيق في "وضع التنسيق" لأسلوب التنسيق هو نفس عدد القيم المدرجة في "قائمة القيم"، على سبيل المثال:
Strings=String.format(%d元%0.3fkg%d台,123,456.777888,999);
إذن، s هي 123 يوانًا و456.778 كيلوجرامًا و999 وحدة.
بشكل افتراضي، يستخدم أسلوب التنسيق أحرف التنسيق في "وضع التنسيق" بالترتيب من اليسار إلى اليمين لتنسيق القيم المقابلة في "قائمة القيم"، بينما تظل الأحرف العادية في "وضع التنسيق" دون تغيير، على سبيل المثال، بافتراض أن النوع int تكون قيم المتغير x والمتغير المزدوج y هي 123 و3.1415926 على التوالي، إذن بالنسبة إلى:
Strings=String.format(من اليسار إلى اليمين:%d,%.3f,%d,x,y,100);
ثم s من اليسار إلى اليمين: 123,3.142,100.
إذا كنت لا تريد استخدام الترتيب الافتراضي (من اليسار إلى اليمين) للتنسيق، فيمكنك أيضًا إضافة رمز فهرس أمام حرف التنسيق: فهرس$، على سبيل المثال، 1$ يعني الأول في "قائمة القيم" "، 2$ تعني "القيمة" 2 في القائمة" لـ:
Strings=String.format(ليس من اليسار إلى اليمين:%2$.3f,%3$d,%1$d,x,y,100);
إذن، s ليس من اليسار إلى اليمين: 3.142,100,123.
ملاحظة: إذا كنت تخطط لتضمين % عادي في "وضع التنسيق"، فأنت بحاجة إلى إدخال 2% على التوالي عند كتابة الكود، على سبيل المثال:
Strings=String.format(%d%%,89);
إذن، s هي 89%.