Včasih je pri programiranju bistvenega pomena, da natisnete izhod v danem določenem formatu. Večina uporabnikov je seznanjena s funkcijo printf v C. V tem članku bomo razpravljali o tem, kako lahko formatiramo izhod s funkcijo printf() v Javi.
Oblikovanje z uporabo Java Printf()
printf() za oblikovanje uporablja specifikatorje formata. Spodaj so navedene nekatere vrste podatkov:
- Za oblikovanje številk
- Oblikovanje decimalnih števil
- Za logično oblikovanje
- Za oblikovanje nizov
- Za oblikovanje znakov
- Za oblikovanje datuma in časa
jaz). Za oblikovanje številk
Samo število vključuje Integer, Long itd. Uporabljeni specifikator oblikovanja je %d.
seznam iz lateksa
Spodaj je izvedba zgornje metode:
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);> > }> }> |
>
>Izhod
10,000>
ii). Za decimalno oblikovanje števil
Oblikovanje decimalnih števil lahko izvedete z uporabo print() in določitelja formata %f.
Spodaj je izvedba zgornje metode:
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);> > }> }> |
>
>Izhod
3.141593 3.142 3.14>
iii). Za logično oblikovanje
Logično oblikovanje lahko izvedete z uporabo printf in (‘%b’ ali ‘%B’), odvisno od zahtevanega rezultata.
Spodaj je izvedba zgornje metode:
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);> > }> }> |
>
>Izhod
true TRUE false FALSE>
iv). Za oblikovanje znakov
Oblikovanje znakov je preprosto razumljivo, saj potrebuje printf() in uporabljeni specifikator formata znakov sta '%c' in '%C'.
program za enkapsulacijo
Spodaj je izvedba zgornje metode:
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);> > }> }> |
>
>Izhod
g G>
v). Za oblikovanje nizov
Oblikovanje nizov zahteva poznavanje nizov in uporabljenega določevalca formata '%s' in '%S'.
Spodaj je izvedba zgornje metode:
Java
// 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);> > }> }> |
>
>Izhod
geeksforgeeks GEEKSFORGEEKS GFG GFG>
vi). Za oblikovanje datuma in časa
Oblikovanje datuma in časa ni tako preprosto kot zgoraj uporabljeni podatkovni tip. Uporablja več kot preprosto znanje o specifikatorju formata, ki ga lahko opazite v spodnjem primeru.
Spodaj je izvedba zgornje metode:
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);> > }> }> |
v nizu v Javi
>
>Izhod
Current Time: 11:32:36 Hours: 11 Minutes: 32 Seconds: 36 11:32:36 am 198 198000000 +0000>
Opomba: System.out.format() je enakovreden printf() in ga je prav tako mogoče uporabiti.
Druge metode za oblikovanje
1. Oblikovanje z uporabo razreda DecimalFormat
DecimalFormat se uporablja za oblikovanje decimalnih števil.
Spodaj je izvedba zgornje metode:
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));> > }> }> |
java je nična
>
>Izhod
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. Oblikovanje datumov in razčlenjevanje z uporabo razreda SimpleDateFormat
Ta razred je prisoten v paketu java.text.
Spodaj je izvedba zgornje metode:
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);> > }> }> |
>
>Izhod
Formatted Date : 24-01-2022 Parsed Date : Sat Feb 18 00:00:00 UTC 1995>