Java printf untuk memformat data keluaran

By | November 16, 2022

Mangihin.com.

Selamat Membaca, semoga informasi ini bermanfaat dan dapat membantu anda.

Kita akan melihat bagaimana menggunakan printf untuk memformat data yang dicetak pada layar di Java.
Masalah ini muncul, misalnya, ketika kita ingin menampilkan angka tipe float atau double dengan angka desimal tertentu dan bukan dengan angka yang ditampilkan Java secara default.

Pada versi Java 5, metode format dan printf digabungkan, yang memungkinkan penerapan format ke keluaran data di layar.
Keduanya menjalankan fungsi yang sama, memiliki format yang persis sama, dan meniru format printf() C.

Pertama mari kita lihat beberapa contoh java printf dan kemudian kami akan menjelaskan sintaks printf secara detail.

Jika kita ingin menampilkan angka 12.3698 bertipe double dengan dua desimal:

System.out.printf(“%.2f %n”, 12.3698);

% pertama menunjukkan bahwa nilai harus ditulis ke posisi itu. Nilai untuk menulis mengikuti tanda kutip.
.2 menunjukkan jumlah tempat desimal.
F menunjukkan bahwa angka tersebut bertipe float atau double. Pada tabel yang muncul nanti Anda bisa melihat semua karakter konversi untuk semua tipe data.
%n menunjukkan baris baru. Sama dengan n. Dengan printf kita bisa menggunakan keduanya untuk melakukan baris baru.


Keluaran layar adalah:
12.37

Kami memeriksa apakah printf melakukan pembulatan untuk menampilkan tempat desimal yang ditunjukkan.
Hal yang paling umum adalah kita memiliki nilai dalam variabel, dalam hal ini jika kita ingin menulis nilai n dengan tiga desimal:

doublen = 1,25036;
System.out.printf(“%.3f %n”, n);
Keberangkatan:
1.250

Untuk menampilkan tanda + pada bilangan positif:
doublen = 1,25036;
System.out.printf(“%+.3f %n”, n);
Keberangkatan:
+1.250

Jika angka yang ditampilkan adalah bilangan bulat, karakter d digunakan:
int x = 10;
System.out.printf(“%d %n”, x);
Keberangkatan:
10

Untuk menunjukkannya dengan tanda:
int x = 10;
System.out.printf(“%+d %n”, x);
Keberangkatan:
+10

Untuk menampilkan beberapa variabel kita akan menempatkan % sebanyak nilai yang akan kita tampilkan. Variabel ditulis setelah tanda kutip dipisahkan dengan koma:

doublen = 1,25036;
int x = 10;
System.out.printf(“n = %.2f x = %d %n”, n, x);
Keberangkatan:
n = 1,25 x = 10

Ketika ada beberapa variabel, kita dapat menunjukkan nilai mana yang akan ditampilkan dengan menulis 1$, 2$, 3$, … menunjukkan bahwa nilai yang akan ditampilkan adalah variabel pertama yang muncul setelah kutipan tanda, yang kedua dll
Kita dapat menulis pernyataan sebelumnya seperti ini:
System.out.printf(“n = %1$.2f x = %2$d %n”, n, x);

Angka ini bersifat opsional, jika tidak muncul akan dipahami bahwa nilai pertama berasal dari variabel pertama, kedua dari kedua, dst.

Jika kita ingin menunjukkan angka 123,4567 dan kuadratnya, keduanya dengan dua tempat desimal, kita harus menulis:

doublen = 123,4567;

System.out.printf(“Kuadrat dari %.2f adalah %.2fn”, n, n*n);

Keberangkatan:

Kuadrat dari 123,46 adalah 15241,56

printf memungkinkan Anda menampilkan nilai dengan lebar bidang tertentu. Misalnya, jika kita ingin menampilkan konten n dalam bidang dengan lebar 10 karakter, kita menulis:

doublen = 1,25036;
System.out.printf(“%+10.2f %n”, n);
Keberangkatan:
bbbbb+1,25
dimana masing-masing b menunjukkan ruang kosong.
Angka 10 menunjukkan ukuran karakter yang akan ditempati angka tersebut di layar. Selain angka angka, titik desimal dan tanda, jika ada, dihitung. Dalam hal ini, angka menempati ruang 5 karakter (3 angka, titik dan tanda) oleh karena itu 5 spasi ditambahkan di awal untuk melengkapi ukuran 10.

Jika kita ingin alih-alih ruang kosong untuk menunjukkan kepada kita angka yang melengkapi lebar dengan nol, kita menulis:
System.out.printf(“%+010.2f %n”, n);
Keberangkatan:
+000001.25

Lebih banyak contoh printf:

Tampilkan angka 1,22 dalam lebar bidang 10 karakter dan dengan dua tempat desimal.

harga ganda = 1,22;

System.out.printf(“%10.2f”, harga);

Keberangkatan:

bbbbbb1.22
(karakter b menunjukkan spasi kosong)

Angka tersebut menempati ruang total 10 karakter termasuk titik dan dua tempat desimal.

Tampilkan string “Total:” dengan lebar 10 karakter dan rata kiri:

System.out.printf(“%-10s”, “Total:”);

Keberangkatan:

Total:bbbb

Karakter s menunjukkan bahwa serangkaian karakter akan ditampilkan.
Tanda – menunjukkan perataan kiri.

Tampilkan string “Total:” dengan lebar 10 karakter dan disejajarkan ke kanan:

System.out.printf(“%10s”, “Total:”);

Keberangkatan:

bbbbTotal:

Pada akhirnya Anda dapat melihat contoh lengkap dengan penggunaan printf yang berbeda.

Sekarang mari kita lihat lebih dekat sintaks printf:

Sintaks umum printf adalah:

printf(Format String, Obyek…data);

Itu format string adalah string yang berisi:

– teks tetap untuk ditampilkan apa adanya

– penentu format yang menentukan bagaimana data ditampilkan.

data mewakili informasi yang akan ditampilkan dan format yang diterapkan. Jumlah data yang dapat ditampilkan bervariasi.

Penjelasan masing-masing bagian yang muncul pada pernyataan printf:

Penentu format:

Sintaks untuk penentu format printf adalah:

%[posicin_dato$][indicador_de_formato][ancho][.precision]konversi_karakter

Item dalam tanda kurung adalah opsional.


posición_dato: menunjukkan posisi data yang formatnya akan diterapkan. Yang pertama dari kiri menempati posisi 1.


format_indicator: adalah kumpulan karakter yang menentukan format output. Bendera format printf di Jawa adalah:


lebar: Menunjukkan ukuran minimum, diukur dalam jumlah karakter, yang harus ditempati data di layar.


.precision: Menunjukkan jumlah tempat desimal yang akan diwakili. Hanya berlaku untuk data bertipe float atau double.


conversion_character: Karakter yang menunjukkan bagaimana data harus diformat. Yang paling banyak digunakan ditunjukkan pada tabel.

Contoh lengkap dengan berbagai penggunaan printf di Jawa:


public static void main(String[] argumen) {
doubleq = 1,0/3,0;
System.out.printf(“1.0/3.0 = %5.3f %n”, q);
System.out.printf(“1.0/3.0 = %7.5f %n”, q);
q = 1,0/2,0;
System.out.printf(“1.0/2.0 = %09.3f %n”, q);
q = 1000.0/3.0;
System.out.printf(“1000/3.0 = %7.1eh%n”, q);
q = 3,0/4567,0;
System.out.printf(“3.0/4567.0 = %7.3e %n”, q);
q = -1,0/0,0;
System.out.printf(“-1.0/0.0 = %7.2e %n”, q);
q = 0,0/0,0;
System.out.printf(“0.0/0.0 = %5.2e %n”, q);
System.out.printf(“pi = %5.3f, e = %10.4f %n”, Math.PI, Math.E);
r ganda = 1,1;
System.out.printf

(“C = 2 * %1$5.5f * %2$4.1f, “+”A = %2$4.1f * %2$4.1f * %1$5.5f %n”,Math.PI, r);
}


Keberangkatan:

1,0/3,0 = 0,333
1,0/3,0 = 0,33333
1,0/2,0 = 00000,500
1000/3,0 = 3,3e+02j
3,0/4567,0 = 6.569e-04
-1,0/0,0 = -Tak terhingga
0,0/0,0 = NaN
pi = 3,142, e = 2,7183
C = 2 * 3,14159 * 1,1, A = 1,1 * 1,1 * 3,14159