تقدم هذه المقالة استخدام java سلسلة تنسيق string.format () ، على النحو التالي:
شكل الأنواع العادية
يتم استخدام طريقة التنسيق () لفئة السلسلة لإنشاء سلاسل منسقة وتسلسل كائنات سلسلة متعددة. يجب أن يتذكر الطلاب الذين يعرفون لغة C طريقة Sprintf () للغة C ، وهناك أوجه تشابه بين الاثنين. تحتوي طريقة التنسيق () على نموذجين محمرين.
تنسيق (تنسيق السلسلة ، كائن ... args) تستخدم سلسلة جديدة اللغة المحلية لإنشاء تنسيقات وسلسلة المعلمات لإنشاء سلاسل جديدة منسقة.
تنسيق (موضعية موضعية ، تنسيق السلسلة ، الكائن ... args) استخدم اللغة المحددة لإنشاء تنسيقات والمعلمات سلسلة لإنشاء سلاسل منسقة.
أظهر محولات مختلفة لتنفيذ تحويل أنواع البيانات المختلفة إلى السلاسل ، كما هو موضح في الشكل.
محول | يوضح | مثال |
٪ ق | نوع السلسلة | "مينغريسوفت" |
٪ ج | نوع الحرف | "م" |
٪ ب | نوع منطقي | حقيقي |
٪ د | نوع عدد صحيح (عشري) | 99 |
٪ x | نوع عدد صحيح (سداسي عشري) | وما يليها |
٪ س | نوع عدد صحيح (ثماني) | 77 |
٪ و | نوع نقطة العائمة | 99.99 |
٪ أ | نوع نقطة العائمة السداسية عشرية | FF.35AE |
٪ ه | نوع الفهرس | 9.38e+5 |
٪ ز | أنواع النقاط العائمة العامة (أقصر من أنواع F و E) | |
٪ ح | رمز التجزئة | |
٪٪ | نوع في المئة | ٪ |
٪ ن | كسر الخط | |
٪ تكساس | نوع التاريخ والوقت (X يمثل أحرف تحويل التاريخ والوقت المختلفة |
حالات الاختبار
public static void main (string [] args) {String str = null ؛ str = stringformat ("hi ، ٪ s" ، "wang li") ؛ SystemoutPrintln (Str) ؛ str = stringformat ("hi ، ٪ s: ٪ s ٪ s" ، "Wang Nan" ، "Wang Li" ، "Wang Zhang") ؛ SystemoutPrintln (Str) ؛ SystemOutPrintf ("الحرف الأكبر A هو: ٪ C ٪ n" ، 'a') ؛ SystemOutPrintf ("3> 7 النتيجة هي: ٪ b ٪ n" ، 3> 7) ؛ SystemoutPrintf ("نصف" 100 هو: ٪ d ٪ n "، 100/2) ؛ SystemoutPrintf (" 100 Quexadecimal Number هو: ٪ x ٪ n "، 100) ؛ SystemOutPrintf (" رقم 100 Angular IS: ٪ O ٪ n "، 100) السعر أعلاه هو: ٪ a ٪ n "، 50*85) ؛ SystemoutPrintf (" إن مؤشر السعر أعلاه يمثل: ٪ e ٪ n "، 50*85) ؛ SystemOutPrintf (" الطول الأقصر من مؤشر السعر أعلاه ونتيجة النقطة العائمة هي: ٪ g ٪ n "، 50*85) ؛ رمز التجزئة للحرف A هو: ٪ h ٪ n "، 'a') ؛}نتيجة الإخراج
مرحبًا ، Wang Li Hi ، Wang Nan: Wang Li Wang Zhang's Letter A يتم رسملة: A 3> 7 والنتيجة هي: نصف 100 من 100: 50 100 هو: 64 100 هو 80 144 50 Yuan Book 5 خصم: 500000 يوان المذكورة أعلاه: 50000 الخصم أعلاه هو 85 ٪ رمز التجزئة للحرف أ هو: 41
يظهر الشعار المقترن برمز التحويل في الشكل.
| شعار | يوضح | مثال | نتيجة |
| + | أضف رموزًا للأرقام الإيجابية أو السلبية | ("٪+D" ، 15) | +15 |
| - | اليسار محاذاة | ("٪ -5D" ، 15) | | 15 | |
| 0 | أضف 0 قبل الرقم | ("٪ 04D" ، 99) | 0099 |
| المساحات | أضف عدد محدد من المساحات قبل عدد صحيح | ("٪ 4D" ، 99) | | 99 | |
| و | أرقام المجموعة مع "،" | ("٪ ، F" ، 9999.99) | 9999.990000 |
| (( | استخدم الأقواس لتشمل الأرقام السلبية | ("٪ (F" ، -99.99) | (99.990000) |
| # | إذا كانت نقطة عائمة ، فإنها تحتوي على نقطة عشرية. إذا كان سداسي عشري أو مهندس ، فإنه يضيف 0x أو 0 | ("٪#x" ، 99) | ("٪#o" ، 99) |
| < | تنسيق المعلمات الموصوفة بواسطة المحول السابق | ("٪ f و ٪ <3.2f" ، 99.45) | 99.450000 و 99.45 |
| $ | فهرس المعلمة تنسيق | ("٪ 1 $ D ، ٪ 2 $ S" ، 99 ، "ABC") | 99 ، ABC |
حالات الاختبار
public static void main (string [] args) {String str = null ؛ // $ استخدم str = stringformat ("استخدم المعلمة التنسيق $: ٪ 1 $ d ، ٪ 2 $ s" ، 99 ، "ABC") ؛ SystemoutPrintln (Str) ؛ //+استخدام SystemOutPrintF ("الرموز التي تظهر الأرقام الإيجابية والسلبية: ٪+D و ٪ d ٪ n" ، 99 ، -99) ؛ // أكمل ouse systemoutprintf ("الرقم الأكثر روعة هو: ٪ 03d ٪ n" ، 7) ؛ // استخدم SystemOutPrintf ("تأثير مفتاح TAB هو: ٪ 8d ٪ n" ، 7) ؛ // استخدام SystemOutPrintf ("تأثير تجميع عدد صحيح هو: ٪ ، d ٪ n" ، 9989997) ؛ // Space and Decimal Point Number SystemEmoutPrintf ("سعر الكتاب هو: ٪ 5f Yuan ٪ n" ، 8) ؛ }نتيجة الإخراج
استخدام المعلمة التنسيق $: 99 ، رموز ABC التي تعرض الأرقام الإيجابية والسلبية: +99 و -99 الرقم الأكثر روعة هو: 007 تأثير مفتاح علامة التبويب هو: 7 تأثير مجموعة عدد صحيح هو: 9،989،997 سعر الكتاب هو: 80،000 yuan
تنسيق سلسلة الحدث وسلسلة الأحداث
غالبًا ما تكون هناك حاجة إلى الوقت والتاريخ لعرضها في واجهة البرنامج ، ولكن غالبًا ما يكون تنسيق الشاشة غير مرضٍ. مطلوب كمية كبيرة من التعليمات البرمجية للذهاب عبر خوارزميات مختلفة للحصول على تنسيق التاريخ والوقت المثاليين. يوجد أيضًا محول ٪ TX بتنسيق السلسلة غير مفصل ، ويستخدم خصيصًا لتنسيق التواريخ والأوقات. يمثل x في محول ٪ TX محولًا إضافيًا يعالج تنسيقات التاريخ والوقت ، ويمكن أن تنسيق مجموعاتها تاريخ ووقت في تنسيقات متعددة.
التنسيقات الشائعة لمجموعات التاريخ والوقت ، كما هو موضح في الشكل.
| محول | يوضح | مثال |
| ج | يتضمن جميع معلومات التاريخ والوقت | السبت 27 أكتوبر 14:21:20 CST 2007 |
| و | تنسيق "السنة الشهرية" | 2007-10-27 |
| د | "شهر/يوم/سنة" تنسيق | 10/27/07 |
| ص | "HH: MM: SS PM" تنسيق (نظام 12 ساعة) | 02:25:51 مساءً |
| ر | "HH: MM: SS" تنسيق (نظام على مدار 24 ساعة) | 14:28:16 |
| ص | "HH: MM" تنسيق (نظام على مدار 24 ساعة) | 14:28 |
حالات الاختبار
public static void main (string [] args) {date date = new date () ؛ // C يستخدم SystemUtPrintf ("جميع معلومات التاريخ والوقت: ٪ tc ٪ n" ، التاريخ) ؛ // F يستخدم SystemUtPrintf ("تنسيق السنة في اليوم: ٪ TF ٪ N" ، التاريخ) ؛ // D يستخدم SystemUtPrintf ("التنسيق الشهري/اليوم/السنة: ٪ TD ٪ n" ، التاريخ) ؛ // R يستخدم SystemUtPrintf ("HH: MM: SS PM Format (12 Time System): ٪ TT ٪ N" ، Date) ؛ // T يستخدم SystemUtPrintf ("HH: MM: SS Format (24 Time System): ٪ TT ٪ N" ، Date) ؛ // R يستخدم SystemUtPrintf ("HH: MM Format (24 Time Format): ٪ TR" ، DATE) ؛ }نتيجة الإخراج
كل معلومات التاريخ والوقت: الاثنين 10 سبتمبر 10:43:36 CST 2012 شهر الشهر التنسيق: 2012-09-10 الشهر/اليوم/السنة التنسيق: 09/10/12 HH: MM:
يمكن أن يتسبب المحول الذي يحدد تنسيق التاريخ في إنشاء سلسلة جديدة من خلال المحول المحدد. يتم عرض محولات التاريخ هذه في الشكل.
public static void main (string [] args) {date date = new date () ؛ // استخدام B ، اختصار الشهر هو String str = stringformat (localeus ، "English Month Abbreviation: ٪ tb" ، date) ؛ SystemoutPrintln (Str) ؛ SystemOutPrintf ("الاختصار الشهر المحلي: ٪ tb ٪ n" ، التاريخ) ؛ // استخدام B ، الاسم الكامل الشهر str = stringformat (localeus ، "الشهر الإنجليزي الاسم الكامل: ٪ tb" ، التاريخ) ؛ SystemoutPrintln (Str) ؛ SystemOutPrintf ("الاسم الكامل للشهر المحلي: ٪ tb ٪ n" ، التاريخ) ؛ // يتم اختصار استخدام الأسبوع As str = stringformat (localeus ، "English Week's Abbreviation: ٪ TA" ، التاريخ) ؛ SystemoutPrintln (Str) ؛ . . . // j ، عدد الأيام في السنة SystemUtPrintf ("أيام في السنة (أي يوم العام): ٪ tj ٪ n" ، التاريخ) ؛ // m ، شهر SystemUtPrintf ("شهر من رقمين (أقل من رقمين قبل 0): ٪ tm ٪ n" ، التاريخ) ؛ // D ، اليوم (رقمين ، لا يكفي للتعويض عن الأصفار) SystemUtPrintf ("يوم من رقمين (أقل من رقمين قبل 0): ٪ TD ٪ n" ، التاريخ) ؛ // e ، اليوم (رقم واحد قبل 0) SystemUtPrintf ("يوم من رقمين (أقل من رقمين قبل 0): ٪ td ٪ n" ، التاريخ) ؛ // e ، اليوم (رقم واحد قبل 0) SystemUtPrintf ("يوم من الشهر (لا يكفي للتعويض عن الأصفار): ٪ te" ، التاريخ) ؛ }نتيجة الإخراج
الشهر الإنجليزي الاختصار: SEP الشهر المحلي الاختصار: شهر سبتمبر من الشهر الإنجليزي الاسم الكامل: سبتمبر الاسم الكامل: سبتمبر إنجليزي الأسبوع الاختصار: MON Local Week Abbreviation: أول رقمين من الأسبوعين (قبل أقل من رقمين ، في اليوم (254 من الرقمين) (254 رقمًا من العامين (قبل أقل من رقمين). من رقمين ، إضافة 0): 09 يوم الرقمين (قبل أقل من رقمين ، إضافة 0): يوم أكتوبر (قبل أقل من رقمين ، إضافة 0): 10
بالمقارنة مع محولات تنسيق التاريخ ، تكون محولات تنسيق الوقت أكثر دقة. يمكن أن ينشط الوقت في وحدات مثل الساعات والدقائق والثواني وحتى ساعة ميلي ثانية. يظهر المحول لتنسيق سلسلة الوقت في الشكل.
| محول | يوضح | مثال |
| ح | رقم مكون من رقمين 24 ساعة (أقل من رقمين ، يتم إضافة 0 قبل الأول) | 15 |
| أنا | رقم 2 12 ساعة (أقل من 2 رقمين قبل إضافة 0) | 03 |
| ك | رقم مكون من رقم 24 ساعة (لم يتم إضافة 0 من قبل) | 15 |
| ل | رقم 2 12 ساعة (0 لم تتم إضافته من قبل) | 3 |
| م | دقائق من رقمين (أقل من 2 رقمين قبل إضافة 0) | 03 |
| ق | ثواني من رقمين (أقل من 2 رقمين ، أضف 0 في المقدمة) | 09 |
| ل | ميلي ثانية من 3 أرقام (أقل من 3 أرقام قبل إضافة 0) | 015 |
| ن | عدد ميلي ثانية من 9 أرقام (أقل من 9 أرقام ، أضف 0 من قبل) | 562000000 |
| ص | علامات الصباح أو بعد الظهر لأحرف صغيرة | المتوسط: بعد الظهر اللغة الإنجليزية: PM |
| ض | الإزاحة بالنسبة إلى المنطقة الزمنية لـ GMT's RFC822 | +0800 |
| ض | سلسلة اختصار المنطقة الزمنية | CST |
| ق | 1970-1-1 00:00:00 تم تمرير عدد الثواني الآن | 1193468128 |
| س | 1970-1-1 00:00:00 انتقل عدد المللي ثانية إلى الآن | 1193468128984 |
رمز الاختبار
public static void main (string [] args) {date date = new date () ؛ // H يستخدم SystemUtPrintf ("نظام زمني مكون من 2 ساعة (قبل 0 إذا كان أقل من 2 رقمين): ٪ th ٪ n" ، التاريخ) ؛ // أنا يستخدم SystemUtPrintf ("نظام زمني مكون من 12 ساعة (قبل 0 إذا كان أقل من 2 رقمين): ٪ ti ٪ n" ، التاريخ) ؛ // k يستخدم SystemUtPrintf ("نظام زمني مكون من 2 ساعة (قبل 0 إذا لم يكن 0 إذا لم يكن 0 إذا لم يكن 0 إذا لم يكن 0 إذا لم يكن 0 إذا لم يكن L") ؛ ٪ tm ٪ n "، التاريخ) ؛ // s يستخدم SystemUtPrintf (" ثواني من رقمين (قبل 0 إذا كان أقل من 2 رقمين): ٪ ts ٪ n "، التاريخ) ؛ ٪ tn ٪ n "، التاريخ) ؛ // p يستخدم String str = stringformat (localeus ،" علامات الصباح أو بعد الظهر من الأحرف الصغيرة (الإنجليزية): ٪ tp "، date) ؛ systemoutprintln (str) ؛ systemoutPrintf (" Morning or peensy marks of sumrasced (medium): ٪ tp ٪ n "، date) ؛ المنطقة: ٪ tz ٪ n "، التاريخ) ؛ // z's use systemoutPrintf (" سلسلة الاختصار الزمنية: ٪ tz ٪ n "، التاريخ) ؛ // S SystemOutPrintf ("1970-1-1 00:00:00 عدد الثواني التي تم تمريرها إلى الوقت الحاضر: ٪ ts ٪ n" ، التاريخ) ؛ // Q's Use SystemOutPrintf ("1970-1-1 00:00:00 عدد المللي ثانية التي مرت حتى الآن: ٪ tq ٪ n" ، التاريخ) ؛ }نتيجة الإخراج
2 من رقمين لمدة 24 ساعة (قبل 0 إذا كان أقل من 2 رقمين): 11 من رقمين 12 ساعة (قبل 0 إذا كان أقل من 2 رقمين): 11 من رقمين 2 ساعة 24 (قبل 0 2 أرقام من رقمين (قبل 0 إذا كان أقل من 2 رقمين): 52 رقم 3 أرقام ميلي ثانية (قبل 0 إذا كان أقل من 3 أرقام): 773 مكون من 9 أرقام ميلي ثانية (قبل 0 من 9 أرقام): 7730000000 علامات صباحية أو بعد الظهر للعلامات الصغيرة (الإنجليزية) RFC822 المنطقة الزمنية: +0800 سلسلة اختصار المنطقة الزمنية: CST 1970-1-1 00:00:00 عدد الثواني التي تم تمريرها إلى الحاضر: 1347246232 1970-1-1 00:00:00 تم تمرير عدد المللي ثانية إلى الوقت الحاضر: 13472462327373
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.