Kita semua tahu bahwa program terkadang perlu memformat angka, lalu apa itu pemformatan angka? Yang disebut pemformatan digital adalah mendapatkan string sesuai dengan format yang ditentukan.
Misalnya, kita ingin 3,141592 mempertahankan hingga 2 tempat desimal, maka string berformat yang dihasilkan haruslah 3,14; jika kita ingin bilangan bulat 123456789 dikelompokkan berdasarkan "ribuan", maka string berformat yang dihasilkan haruslah 123,456,789; angka 12.3456 untuk mempertahankan 3 tempat desimal, bagian bilangan bulat harus menampilkan minimal 3 digit, maka string berformat yang diperoleh harus 012.346.
Sebelum JDK 1.5, program perlu menggunakan kelas terkait dalam paket java.text, seperti kelas DecimalFormat , untuk memformat data numerik. Versi JDK 1.5 menyediakan kelas Formatter yang lebih nyaman. Kelas Formatter menyediakan metode format yang mirip dengan fungsi printf bahasa C:
format (mode format, daftar nilai)
Metode ini mengembalikan representasi string dari "daftar nilai" sesuai dengan "mode pemformatan".
Saat ini Java telah menjadikan metode format sebagai metode statis dari kelas String. Oleh karena itu, program dapat langsung menggunakan kelas String untuk memanggil metode format untuk memformat angka.
"Mode pemformatan" dalam metode format adalah urutan karakter yang diapit tanda kutip ganda, yaitu string. Karakter dalam urutan karakter ini terdiri dari karakter format dan karakter biasa.
Misalnya: %d dan %f pada hasil keluaran %d, %f, %d adalah simbol format. Empat karakter Cina pertama dan dua koma di tengah adalah karakter biasa simbol format dianggap Ini adalah karakter biasa Siswa dapat merujuk ke kelas java.util.Formatter di Java API untuk mempelajari lebih lanjut tentang karakter format. String yang dikembalikan oleh metode format adalah string setelah karakter format pada "mode pemformatan" diganti dengan hasil format yang diperolehnya, misalnya:
String=String.format(%.2f,3.141592);
Maka s adalah 3.14, karena hasil format %.2f 3.141592 adalah 3.14.
"Daftar nilai" dalam metode format adalah daftar variabel, konstanta, atau ekspresi yang dipisahkan koma. Pastikan jumlah karakter format pada "mode format" metode format sama dengan jumlah nilai yang tercantum dalam "daftar nilai", misalnya:
Strings=String.format(%d元%0.3fkg%d台,123,456.777888,999);
Lalu, s sebesar 123 yuan, 456.778 kilogram, dan 999 unit.
Secara default, metode format menggunakan karakter format dalam "mode pemformatan" secara berurutan dari kiri ke kanan untuk memformat nilai yang sesuai dalam "daftar nilai", sedangkan karakter biasa dalam "mode pemformatan" tetap tidak berubah, misalnya Misalnya dengan asumsi tipe int Nilai variabel x dan variabel double y masing-masing adalah 123 dan 3.1415926, maka untuk:
Strings=String.format(dari kiri ke kanan:%d,%.3f,%d,x,y,100);
Maka s dari kiri ke kanan: 123,3.142,100.
Jika Anda tidak ingin menggunakan urutan default (dari kiri ke kanan) untuk memformat, Anda juga dapat menambahkan simbol indeks di depan karakter format: indeks$, misalnya, 1$ berarti yang pertama dalam "daftar nilai ", 2$ berarti "nilai" 2 dalam daftar" untuk:
Strings=String.format(bukan dari kiri ke kanan:%2$.3f,%3$d,%1$d,x,y,100);
Maka s bukan dari kiri ke kanan: 3.142.100.123.
Catatan: Jika Anda berencana memasukkan % biasa ke dalam "mode pemformatan", Anda harus memasukkan dua % secara berurutan saat menulis kode, misalnya:
Strings=String.format(%d%%,89);
Maka s adalah 89%.