Időnként azt szeretnénk, hogy egy program kimenete egy adott formátumban kerüljön kinyomtatásra. A C programozási nyelvben ez a printf( ) függvény használatával lehetséges. Ebben a részben a különböző kimeneti formázásokat tárgyaljuk.
Beszéljük meg, hogyan formázhatjuk a kimenetet Java nyelven.
Két módszer használható a kimenet formázására Java nyelven:
konvertálása dupla java-ba
- A printf( ) metódus használata
- A format( ) módszer használata
A kimenet formázása a System.out.printf( ) módszerrel
Ennek a módszernek a megvalósítása nagyon egyszerű, mivel hasonló a C programozás printf() függvényéhez.
FormattedOutput1.java
public class FormattedOutput1 { public static void main( String args[ ] ) { // printing the string value on the console String str = ' JavaTpoint ' ; System.out.printf( ' Printing the String value : %s ', str ) ; // printing the integer value on the console int x = 512 ; System.out.printf( ' Printing the integer value : x = %d ', x ) ; // printing the decimal value on the console float f = 5.25412368f ; System.out.printf( ' Printing the decimal value : %f ', f ) ; // this formatting is used to specify the width un to which the digits can extend System.out.printf( ' Formatting the output to specific width : n = %.4f ', f ) ; // this formatting will print it up to 2 decimal places System.out.printf( ' Formatted the output with precision : PI = %.2f ', f ) ; // here number is formatted from right margin and occupies a width of 20 characters System.out.printf( ' Formatted to right margin : n = %20.4f ', f ) ; } }
Kimenet:
r in c programozás
Printing the String value : JavaTpoint Printing the integer value : x = 512 Printing the decimal value : 5.254124 Formatting the output to specific width : n = 5.2541 Formatted the output with precision : PI = 5.25 Formatted to right margin : n = 5.2541
A System.out.format( ) megegyezik a printf( )-vel, és szintén használható.
Fontos megjegyezni, hogy a System.out.print( ) és a System.out.println( ) egyetlen argumentumot vesz fel, de a printf( ) metódus több argumentumot is elfogadhat.
Formázás a DecimalFormat osztály használatával:
A DecimalFormat a decimális számok formázására szolgál.
FormattedOutput2.java
import java.text.DecimalFormat ; // definition of the class public class FormattedOutput2 { public static void main( String args[ ] ) { double x = 123.4567 ; // printing the number System.out.printf( ' The number is : %f ', x ) ; // printing only the numeric part of the floating number DecimalFormat ft = new DecimalFormat( ' #### ' ) ; System.out.println( ' Without fraction part the number is : ' + ft.format( x ) ) ; // printing the number only upto 2 decimal places ft = new DecimalFormat( ' #.## ' ) ; System.out.println( ' Formatted number with the specified precision is = ' + ft.format( x ) ) ; // automatically appends zero to the rightmost part of decimal, instead of #, we use digit 0 ft = new DecimalFormat( ' #.000000 ' ) ; System.out.println( ' Appending the zeroes to the right of the number = ' + ft.format( x ) ) ; // automatically appends zero to the leftmost of decimal number instead of #, we use digit 0 ft = new DecimalFormat( ' 00000.00 ' ) ; System.out.println( ' Appending the zeroes to the left of the number = '+ ft.format( x ) ) ; // formatting money in dollars double income = 550000.789 ; ft = new DecimalFormat( ' $###,###.## ' ) ; System.out.println( ' Your Formatted Income in Dollars : ' + ft.format( income ) ) ; } }
Kimenet:
The number is : 123.456700 Without fraction part the number is : 123 Formatted number with the specified precision is = 123.46 Appending the zeroes to the right of the number = 123.456700 Appending the zeroes to the left of the number = 00123.46 Your Formatted Income in Dollars : 0,000.79
Java karakterlánc-formátum specifikációk
Itt egy táblázatot adunk a Java String által támogatott formátum-specifikációkról.
hálózati topológiák
Formátummeghatározó | Adattípus | Kimenet |
---|---|---|
%a | lebegőpontos (kivéve BigDecima l) | A lebegőpontos szám hexadecimális kimenetét adja vissza. |
%b | Bármilyen fajta | 'igaz', ha nem nulla, 'false', ha null |
%c | karakter | Unicode karakter |
%d | egész szám (bájtot is beleértve, rövid, int, hosszú, bigint) | Decimális egész szám |
%Ez | lebegőpont | Tizedes szám tudományos jelölésben |
%f | lebegőpont | Decimális szám |
%g | lebegőpont | Tizedes szám, esetleg tudományos jelöléssel a pontosságtól és értéktől függően. |
%h | Bármilyen fajta | HashCode( ) metódusból származó érték hexadecimális karakterlánca. |
%n | Egyik sem | Platform-specifikus sorelválasztó. |
%O | egész szám (bájtot is beleértve, rövid, int, hosszú, bigint) | Oktális szám |
%s | Bármilyen fajta | Karakterlánc értéke |
%t | Dátum/Idő (hosszú, naptár, dátum és időbeli hozzáféréssel együtt) | A %t a dátum/idő konverziók előtagja. Ezt követően további formázási zászlókra van szükség. Lásd alább a dátum/idő konverziót. |
%x | egész szám (bájtot is beleértve, rövid, int, hosszú, bigint) | Hatszögletű húr. |