Artikel ini memperkenalkan penggunaan java string formatting-string.format (), sebagai berikut:
Format tipe reguler
Metode format () dari kelas string digunakan untuk membuat string yang diformat dan menggabungkan beberapa objek string. Siswa yang terbiasa dengan bahasa C harus mengingat metode sprintf () bahasa C, dan ada kesamaan antara keduanya. Metode format () memiliki dua formulir yang kelebihan beban.
Format (String Format, Object ... Args) String baru menggunakan lokal lokal untuk membuat format dan parameter string untuk menghasilkan string baru yang diformat.
Format (lokal lokal, format string, objek ... args) Gunakan lokal yang ditentukan untuk membuat format dan parameter string untuk menghasilkan string yang diformat.
Tunjukkan konverter yang berbeda untuk mengimplemsi konversi tipe data yang berbeda ke string, seperti yang ditunjukkan pada gambar.
Konverter | menjelaskan | Contoh |
%S | Tipe string | "Mingrisoft" |
%C | Tipe karakter | 'M' |
%B | Tipe boolean | BENAR |
%D | Tipe integer (desimal) | 99 |
%X | Tipe integer (hexadecimal) | Ff |
%Hai | Tipe Integer (Octal) | 77 |
%F | Tipe Titik Mengambang | 99.99 |
%A | Tipe titik mengambang heksadesimal | Ff.35ae |
%e | Tipe indeks | 9.38e+5 |
%G | Jenis titik mengambang umum (lebih pendek dari tipe F dan E) | |
%H | Kode hash | |
%% | Tipe Persen | % |
%N | Garis istirahat | |
%TX | Tipe Tanggal dan Waktu (x mewakili karakter konversi tanggal dan waktu yang berbeda |
Kasus uji
public static void main (string [] args) {string str = null; str = stringFormat ("hai,%s", "wang li"); SystemoutPrintln (str); str = stringFormat ("hai,%s:%s%s", "wang nan", "wang li", "wang zhang"); SystemoutPrintln (str); SystemOutPrintf ("Huruf Huruf Besar adalah: %C %n", 'A'); SystemoutPrintf ("3> 7 hasil adalah: %B %n", 3> 7); SystemOutPrintf ("setengah dari" 100 adalah: %d %n ", 100/2); SystemoutPrintf (" angka heksadesimal 100 adalah: %x %n ", 100); SystemoutPrintf (" nomor sudut 100 adalah: %o %n ", 100); SystemOutPrintf (" 50 Yuan Buku adalah 5 diskon: %f %n ", 100); Systemprintf (" 50 Yuan Book Is 5 Diskon: %f %n " the above price is: %a %n", 50*85); Systemoutprintf("The index of the above price represents: %e %n", 50*85); Systemoutprintf("The shorter length of the index of the above price and the floating point number result is: %g %n", 50*85); Systemoutprintf("The discount above is %d%%% %n", 85); Systemoutprintf("The hash Kode Huruf A adalah: %h %n ", 'a');}Hasil output
Hi, Wang Li Hi, Wang Nan: Wang Li Wang Zhang's Letter A dikapitalisasi: a 3> 7 Hasilnya adalah: setengah palsu dari 100 adalah: 50 100 adalah: 64 100 adalah 80 144 50 Yuan Buku 5 Diskon adalah: 500000 yuan poin hexadecimal di atasnya adalah: 0x54p5 Indeks di atas diekspresikan: 250000 hexadecimal nomor 01 the the longs adalah: 0x54p5 Indeks di atas diekspresikan: 250000 hexadecimal nomor 01 The The Longs adalah: 0x54p5 Indeks di atas diekspresikan: 250000 hexadecimal nomor 01 the the longs adalah: 0x54p5 INDEKS DILAKU DILAKUKAN: 250000 POIN FLOORTEP+Longser 01 The EXOUD OF THE EXOCE OLEX 500 EXOUD OFF: 250000 INDEX OFF LANDE INDEX 500 Diskon di atas adalah 85% Kode Hash Huruf A adalah: 41
Logo yang dipasangkan dengan simbol konversi ditunjukkan pada gambar.
| Logo | menjelaskan | Contoh | hasil |
| + | Tambahkan simbol untuk angka positif atau negatif | ("%+d", 15) | +15 |
| - | Kiri selaras | ("%-5d", 15) | | 15 | |
| 0 | Tambahkan 0 sebelum nomor | ("%04d", 99) | 0099 |
| Ruang | Tambahkan jumlah spasi yang ditentukan sebelum bilangan bulat | ("% 4d", 99) | | 99 | |
| , | Nomor kelompok dengan "," | ("%, f", 9999.99) | 9.999.990000 |
| ( | Gunakan kurung untuk memasukkan angka negatif | ("%(f", -99,99) | (99.990000) |
| # | Jika itu adalah titik mengambang, itu berisi titik desimal. Jika hexadecimal atau ength, itu menambahkan 0x atau 0 | ("%#x", 99) | ("%#o", 99) |
| < | Format parameter yang dijelaskan oleh konverter sebelumnya | (" %F dan %<3.2f", 99.45) | 99.450000 dan 99.45 |
| $ | Indeks parameter yang diformat | ("%1 $ D,%2 $ S", 99, "ABC") | 99, ABC |
Kasus uji
public static void main (string [] args) {string str = null; // $ use str = stringFormat ("Gunakan parameter format $: %1 $ d, %2 $ S", 99, "ABC"); SystemoutPrintln (str); //+Gunakan SystemOutPrintF ("Simbol yang menunjukkan angka positif dan negatif: %+d dan %d %n", 99, -99); // Lengkapi ouse SystemoutPrintf ("Angka yang paling mengagumkan adalah: %03d %n", 7); // Gunakan SystemOutPrintf ("Pengaruh kunci tab adalah: %8d %n", 7); // Gunakan SystemOutPrintf ("Pengaruh Pengelompokan Integer adalah: %, D %n", 9989997); // spasi dan titik desimal SystemeMoutPrintf ("Harga buku adalah: % 5f yuan % n", 8); }Hasil output
Penggunaan parameter format $: 99, simbol ABC yang menampilkan angka positif dan negatif: +99 dan -99 angka yang paling mengagumkan adalah: 007 Pengaruh kunci tab adalah: 7 Pengaruh pengelompokan integer adalah: 9.989.997 Harga buku adalah: 80.000 Yuan Yuan adalah Yuan
Format string tanggal dan acara
Waktu dan tanggal sering diperlukan untuk ditampilkan di antarmuka program, tetapi format tampilan seringkali tidak memuaskan. Sejumlah besar kode diperlukan untuk melalui berbagai algoritma untuk mendapatkan format tanggal dan waktu yang ideal. Ada juga konverter %TX dalam format string yang tidak terperinci, ini digunakan secara khusus untuk memformat tanggal dan waktu. x Dalam konverter %TX mewakili konverter tambahan yang memproses format tanggal dan waktu, dan kombinasinya dapat memformat tanggal dan waktu menjadi beberapa format.
Format umum untuk kombinasi tanggal dan waktu, seperti yang ditunjukkan pada gambar.
| Konverter | menjelaskan | Contoh |
| C | Termasuk semua informasi tanggal dan waktu | Sabtu 27 Oktober 14:21:20 CST 2007 |
| F | Format "bulan-bulan" | 2007-10-27 |
| D | Format "bulan/hari/tahun" | 10/27/07 |
| R | Format "HH: MM: SS PM" (sistem 12 jam) | 02:25:51 PM |
| T | Format "HH: MM: SS" (sistem 24 jam) | 14:28:16 |
| R | Format "HH: MM" (sistem 24 jam) | 14:28 |
Kasus uji
public static void main (string [] args) {date date = new date (); // C menggunakan SystemutPrintF ("Semua informasi tanggal dan waktu: %tc %n", tanggal); // f menggunakan SystemutPrintf ("Format Hari-Bulan-Hari-Hari: %Tf %n", Tanggal); // D menggunakan SystemutPrintF ("Format Bulan/Hari/Tahun: %Td %n", Tanggal); // r menggunakan SystemutPrintf ("HH: MM: SS PM Format (12 Sistem Waktu): %TT %n", Tanggal); // t menggunakan SystemutPrintf ("HH: MM: SS Format (24 Sistem Waktu): %tt %n", tanggal); // r menggunakan SystemutPrintf ("HH: MM Format (Format 24 Waktu): %tr", tanggal); }Hasil output
Semua Informasi Tanggal dan Waktu: Senin 10 September 10:43:36 CST 2012-Month-Day Format: 2012-09-10 Bulan/Hari/Tahun Format: 09/10/12 HH: MM: SS PM Format (12 O'Clock): 10:43:36 Pagi HH: MM: SS Format (24 O'Clock): 10:4:36 Pagi HH: MM: SS Format (24 O'CLOCK): 10:4:4: MM: MM: SS Format (24 O'CLOCK): 10:4:4.
Konverter yang mendefinisikan format tanggal dapat menyebabkan tanggal menghasilkan string baru melalui konverter yang ditentukan. Konverter tanggal ini ditunjukkan pada gambar.
public static void main (string [] args) {date date = new date (); // Penggunaan B, Singkatan Bulan adalah String str = StringFormat (localeus, "Singkatan Bulan Inggris: %TB", tanggal); SystemoutPrintln (str); SystemoutPrintf ("Singkatan Bulan Lokal: %TB %n", Tanggal); // Penggunaan B, Bulan Nama Lengkap Str = StringFormat (Localeus, "Bulan Inggris Nama Lengkap: %TB", Tanggal); SystemoutPrintln (str); SystemoutPrintf ("Nama Lengkap Bulan Lokal: %TB %n", Tanggal); // Penggunaan A, minggu disingkat sebagai str = StringFormat (localeus, "singkatan minggu bahasa Inggris: %ta", tanggal); SystemoutPrintln (str); // Penggunaan A, nama lengkap SystemoutPrintf ("Singkatan Minggu Lokal: %ta %n", tanggal); // Penggunaan C, dua digit SystemoutPrintf ("Dua digit pertama tahun ini (kurang dari dua digit sebelum yang pertama): %tc %n", tanggal); // Penggunaan y, dua digit SystemoutPrintf ("Dua digit terakhir tahun ini (kurang dari dua digit sebelum yang pertama): %ty %n", tanggal); // J, jumlah hari dalam setahun Systemutprintf ("hari dalam setahun (yaitu, hari dalam setahun): %tj %n", tanggal); // M, SystemutPrintf bulan ("bulan dua digit (kurang dari dua digit sebelum 0): %tm %n", tanggal); // D, hari (dua digit, tidak cukup untuk menebus nol) Systemutprintf ("hari dua digit (kurang dari dua digit sebelum 0): %td %n", tanggal); // e, hari (satu digit sebelum 0) systemutprintf ("hari dua digit (kurang dari dua digit sebelum 0): %td %n", tanggal); // e, hari (satu digit sebelum 0) systemutprintf ("hari bulan (tidak cukup untuk menebus nol): %te", tanggal); }Hasil output
English month abbreviation: Sep Local month abbreviation: September English month full name: September full name: September English week abbreviation: Mon Local week abbreviation: The first two digits of the week (before less than two digits, add 0): 20 The last two digits of the year (before less than two digits, add 0): 12 The number of days in the year (that is, what day of the year): 254 The month of the two digits (before less than two digits, Tambahkan 0): 09 Hari dua digit (sebelum kurang dari dua digit, tambahkan 0): Hari Oktober (sebelum kurang dari dua digit, tambahkan 0): 10
Dibandingkan dengan konverter format tanggal, konverter format waktu lebih dan lebih akurat. Ini dapat memformat waktu menjadi unit seperti jam, menit, detik, dan bahkan satu jam milidetik. Konverter untuk memformat string waktu ditunjukkan pada gambar.
| Konverter | menjelaskan | Contoh |
| H | Nomor 2 digit 24 jam (di bawah 2 digit, 0 ditambahkan sebelum yang pertama) | 15 |
| SAYA | Nomor 2 digit 12 jam (kurang dari 2 digit sebelum menambahkan 0) | 03 |
| k | Nomor 2 digit waktu 24 jam (0 tidak ditambahkan sebelumnya) | 15 |
| l | Nomor 2 digit 12 jam (0 tidak ditambahkan sebelumnya) | 3 |
| M | Menit 2 digit (kurang dari 2 digit sebelum menambahkan 0) | 03 |
| S | Detik 2 digit (di bawah 2 digit, tambahkan 0 di depan) | 09 |
| L | Milidetik 3 digit (kurang dari 3 digit sebelum menambahkan 0) | 015 |
| N | Jumlah milidetik 9 digit (di bawah 9 digit, tambahkan 0 sebelumnya) | 562000000 |
| P | Tanda pagi atau sore untuk huruf kecil | Sedang: Sore Bahasa Inggris: PM |
| z | Offset relatif terhadap zona waktu RFC822 GMT | +0800 |
| Z | String singkatan zona waktu | CST |
| S | 1970-1-1 00:00:00 Jumlah detik yang diteruskan ke sekarang | 1193468128 |
| Q | 1970-1-1 00:00:00 Jumlah milidetik yang dilewati sekarang | 1193468128984 |
Kode uji
public static void main (string [] args) {date date = new date (); // h menggunakan systemutprintf ("2-digit 24 jam sistem waktu (sebelum 0 jika kurang dari 2 digit): %th %n", tanggal); // Saya menggunakan SystemutPrintF ("2 digit sistem waktu 12 jam (sebelum 0 jika kurang dari 2 digit): %ti %n", tanggal); //k uses Systemutprintf("2-digit 24 hour time system (before 0 if not 0 if not 0 if not 0 if not 0 if not 0 if not l"); //l uses Systemutprintf("2-digit 12 hour time system (before 0 if not 0 if not 0 if not 0 if not 0 if not 0 if not l); //M uses Systemutprintf("Minutes of 2 digits (before 0 if less than 2 digits): %tm %n ", tanggal); // s menggunakan Systemutprintf (" detik 2 digit (sebelum 0 jika kurang dari 2 digit): %ts %n ", tanggal); // l menggunakan SystemutPrintf (" menit 3 digit (sebelum 0 jika kurang dari 3 digit): %TL %n ", tanggal); // N Penggunaan Sistem (Digit:" Digits ("Digits dari 9 Digit (" Digit dari 9 Digit ("Digit (" Digit ("Digit (" Digit ("Digits (" Digit ("Digit (" Digit ("Digit (" Digit ("Digit (" Digit ("Digit (" Digit ("Digit (" Digit ("Digit (" Digit ("Digit (" DIGITS ("DIGITS (" DIGITS ("DIGITS (" DIGITS ("DIGIT (" %tN%n", date); //P uses String str = Stringformat(LocaleUS, "Morning or afternoon marks of lowercase letters (English): %tp", date); Systemoutprintln(str); Systemoutprintf("Morning or afternoon marks of lowercase letters (medium): %tp%n", date); //z's use Systemoutprintf("Offset relative to GMT's RFC822 time zone: %tz %n ", date); // Z Gunakan SystemOutPrintf (" String Singkatan Zona Waktu: %tz %n ", tanggal); // S Gunakan SystemoutPrintf ("1970-1-1 00:00:00 Jumlah detik yang disahkan ke masa kini: %ts %n", tanggal); // q menggunakan SystemoutPrintf ("1970-1-1 00:00:00 Jumlah milidetik yang telah berlalu sejauh ini: %tq %n", tanggal); }Hasil output
2-digit 24 hour hours (before 0 if less than 2 digits): 11 2-digit 12 hour hours (before 0 if less than 2 digits): 11 2-digit 24 hour hours (before 0 if less than 2 digits): 11 2-digit 12 hour hours (before 0 if less than 2 digits): 11 2-digit 12 hour hours (before 0 if less than 2 digits): 11 2-digit digit minutes (before 0 if less than 2 digits): 03 2-digit digit seconds (before 0 if less than 2 digits): 52 3-digit digit milliseconds (before 0 if less than 3 digits): 773 9-digit digit milliseconds (before 0 if less than 9 digits): 7730000000 Morning or afternoon marks for lowercase letters (English): am Morning or afternoon marks for lowercase letters (Medium): offset of morning relative to GMT's RFC822 Zona Waktu: +0800 Zona Waktu Singkatan String: CST 1970-1-1 00:00:00 Jumlah detik yang diteruskan ke masa kini: 1347246232 1970-1-1 00:00:00 Jumlah milidetik yang diteruskan ke saat ini: 1347246232773
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.