Manchmal ist es beim Programmieren wichtig, die Ausgabe in einem bestimmten Format zu drucken. Die meisten Benutzer sind mit der printf-Funktion in C vertraut. Lassen Sie uns in diesem Artikel besprechen, wie wir die Ausgabe mit printf() in Java formatieren können.
Formatieren mit Java Printf()
printf() verwendet Formatspezifizierer zur Formatierung. Es gibt bestimmte Datentypen, die unten aufgeführt sind:
- Zur Zahlenformatierung
- Dezimalzahlen formatieren
- Für boolesche Formatierung
- Für String-Formatierung
- Für die Zeichenformatierung
- Für Datums- und Uhrzeitformatierung
ich). Zur Zahlenformatierung
Die Zahl selbst umfasst Integer, Long usw. Der verwendete Formatierungsspezifizierer ist %d.
Boolescher Wert in c
Nachfolgend finden Sie die Implementierung der oben genannten Methode:
Java
// Java Program to demonstrate> // Use of printf to> // Formatting Integer> import> java.io.*;> > // Driver Class> class> GFG {> > // main function> > public> static> void> main (String[] args) {> > int> a=> 10000> ;> > > //System.out.printf('%.d%n',a);> > System.out.printf(> '%,d%n'> ,a);> > }> }> |
>
>Ausgabe
10,000>
ii). Für die Formatierung von Dezimalzahlen
Die Formatierung von Dezimalzahlen kann mit print() und dem Formatbezeichner %f erfolgen.
Nachfolgend finden Sie die Implementierung der oben genannten Methode:
Java
// Java Programs to demonstrate> // Use of Printf() for decimal> // Number Formatting> import> java.io.*;> > // Driver Class> class> GFG {> > // main function> > public> static> void> main(String[] args)> > {> > // declaring double> > double> a => 3.14159265359> ;> > > // Printing Double Value with> > // different Formatting> > System.out.printf(> '%f
'> , a);> > System.out.printf(> '%5.3f
'> , a);> > System.out.printf(> '%5.2f
'> , a);> > }> }> |
>
>Ausgabe
Freddie Mercury
3.141593 3.142 3.14>
iii). Für boolesche Formatierung
Die boolesche Formatierung kann je nach gewünschtem Ergebnis mithilfe von printf und (‘%b’ oder ‘%B’) erfolgen.
Nachfolgend finden Sie die Implementierung der oben genannten Methode:
Java
// Java Programs to demonstrate> // Use of Printf() for decimal> // Boolean Formatting> import> java.io.*;> > // Driver Function> class> GFG {> > // main function> > public> static> void> main(String[] args)> > {> > int> a => 10> ;> > Boolean b => true> , c => false> ;> > Integer d => null> ;> > > // Fromatting Done using printf> > System.out.printf(> '%b
'> , a);> > System.out.printf(> '%B
'> , b);> > System.out.printf(> '%b
'> , c);> > System.out.printf(> '%B
'> , d);> > }> }> |
>
>Ausgabe
true TRUE false FALSE>
iv). Für die Zeichenformatierung
Die Zeichenformatierung ist leicht zu verstehen, da sie printf() benötigt und die verwendeten Zeichenformatspezifizierer „%c“ und „%C“ sind.
Nachfolgend finden Sie die Implementierung der oben genannten Methode:
Java
// Java Program to Formatt> //> import> java.io.*;> > // Driver Class> class> GFG {> > // main function> > public> static> void> main(String[] args)> > {> > char> c => 'g'> ;> > > // Formatting Done> > System.out.printf(> '%c
'> , c);> > > // Converting into Uppercase> > System.out.printf(> '%C
'> , c);> > }> }> |
>
>Ausgabe
g G>
v). Für String-Formatierung
Die String-Formatierung erfordert Kenntnisse über Strings und die verwendeten Formatspezifizierer „%s“ und „%S“.
Nachfolgend finden Sie die Implementierung der oben genannten Methode:
Java
jvm
// Java Program to implement> // Printf() for String Formatting> import> java.io.*;> > // Driver Class> class> GFG {> > // main function> > public> static> void> main(String[] args)> > {> > String str => 'geeksforgeeks'> ;> > > // Formatting from lowercase to> > // Uppercase> > System.out.printf(> '%s
'> , str);> > System.out.printf(> '%S
'> , str);> > > str => 'GFG'> ;> > // Vice-versa not possible> > System.out.printf(> '%S
'> , str);> > System.out.printf(> '%s
'> , str);> > }> }> |
>
>Ausgabe
geeksforgeeks GEEKSFORGEEKS GFG GFG>
vi). Für Datums- und Uhrzeitformatierung
Die Formatierung von Datum und Uhrzeit ist nicht so einfach wie bei dem oben verwendeten Datentyp. Es verwendet mehr als nur einfaches Wissen über Formatspezifizierer, wie im unten genannten Beispiel beobachtet werden kann.
Nachfolgend finden Sie die Implementierung der oben genannten Methode:
Java
// Java Program to demonstrate use of> // printf() for formatting Date-time> import> java.io.*;> import> java.util.*;> > // Driver Class> class> GFG {> > // main function> > public> static> void> main(String[] args)> > {> > Date time => new> Date();> > > System.out.printf(> 'Current Time: %tT
'> , time);> > > // Another Method with all of them Hour> > // minutes and seconds seperated> > System.out.printf(> 'Hours: %tH Minutes: %tM Seconds: %tS
'> ,> > time,time, time);> > > // Another Method to print the time> > // Followed by am/pm , time in milliseconds> > // nanoseconds and time-zone offset> > System.out.printf(> '%1$tH:%1$tM:%1$tS %1$tp %1$tL %1$tN %1$tz %n'> ,> > time);> > }> }> |
>
>Ausgabe
Current Time: 11:32:36 Hours: 11 Minutes: 32 Seconds: 36 11:32:36 am 198 198000000 +0000>
Notiz: System.out.format() entspricht printf() und kann ebenfalls verwendet werden.
Andere Formatierungsmethoden
1. Formatierung mit der DecimalFormat-Klasse
DecimalFormat wird zum Formatieren von Dezimalzahlen verwendet.
Nachfolgend finden Sie die Implementierung der oben genannten Methode:
Java
// Java program to demonstrate working of DecimalFormat> import> java.text.DecimalFormat;> > // Driver Class> class> JavaFormatter2 {> > // main function> > public> static> void> main(String args[])> > {> > double> num => 123.4567> ;> > > // prints only numeric part of a floating number> > DecimalFormat ft => new> DecimalFormat(> '####'> );> > System.out.println(> 'Without fraction part: num = '> > + ft.format(num));> > > // this will print it upto 2 decimal places> > ft => new> DecimalFormat(> '#.##'> );> > System.out.println(> 'Formatted to Give precision: num = '> > + ft.format(num));> > > // automatically appends zero to the rightmost part> > // of decimal instead of #,we use digit 0> > ft => new> DecimalFormat(> '#.000000'> );> > System.out.println(> 'appended zeroes to right: num = '> > + ft.format(num));> > > // automatically appends zero to the leftmost of> > // decimal number instead of #,we use digit 0> > ft => new> DecimalFormat(> '00000.00'> );> > System.out.println(> 'formatting Numeric part : num = '> > + ft.format(num));> > > // formatting money in dollars> > double> income => 23456.789> ;> > ft => new> DecimalFormat(> '$###,###.##'> );> > System.out.println(> 'your Formatted Dream Income : '> > + ft.format(income));> > }> }> |
>
>Ausgabe
Without fraction part: num = 123 Formatted to Give precision: num = 123.46 appended zeroes to right: num = 123.456700 formatting Numeric part : num = 00123.46 your Formatted Dream Income : ,456.79>
2. Formatieren von Datumsangaben und Parsen mit der SimpleDateFormat-Klasse
Diese Klasse ist im Paket java.text vorhanden.
Nachfolgend finden Sie die Implementierung der oben genannten Methode:
Java
do und while-Schleife in Java
// Java program to demonstrate working of SimpleDateFormat> import> java.text.ParseException;> import> java.text.SimpleDateFormat;> import> java.util.Date;> > // Driver Class> class> Formatter3 {> > // main function> > public> static> void> main(String args[])> > throws> ParseException> > {> > // Formatting as per given pattern in the argument> > SimpleDateFormat ft> > => new> SimpleDateFormat(> 'dd-MM-yyyy'> );> > > String str = ft.format(> new> Date());> > System.out.println(> 'Formatted Date : '> + str);> > > // parsing a given String> > str => '02/18/1995'> ;> > ft => new> SimpleDateFormat(> 'MM/dd/yyyy'> );> > Date date = ft.parse(str);> > > // this will print the date as per parsed string> > System.out.println(> 'Parsed Date : '> + date);> > }> }> |
>
>Ausgabe
Formatted Date : 24-01-2022 Parsed Date : Sat Feb 18 00:00:00 UTC 1995>