logo

Formatarea ieșirii Java

Uneori dorim ca rezultatul unui program să fie tipărit într-un anumit format. În limbajul de programare C acest lucru este posibil folosind funcția printf(). În această secțiune, vom discuta despre formatarea diferită a ieșirii.

Să discutăm cum putem formata rezultatul în Java.

Există două metode care pot fi folosite pentru a formata ieșirea în Java:

tabel de reacții
  • Folosind metoda printf().
  • Folosind metoda format( ).

Formatarea ieșirii utilizând metoda System.out.printf( ).

Implementarea acestei metode este foarte ușoară, deoarece este similară cu funcția printf() din programarea C.

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 ) ; } } 

Ieșire:

 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 

System.out.format( ) este echivalent cu printf( ) și poate fi folosit și.

Un punct important de remarcat este că System.out.print( ) și System.out.println( ) iau un singur argument, dar metoda printf( ) poate accepta mai multe argumente.

sunt exemple model

Formatarea utilizând clasa DecimalFormat:

DecimalFormat este folosit pentru a formata numere zecimale.

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 ) ) ; } } 

Ieșire:

 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 

Specificatorii de format de șiruri Java

Aici, oferim un tabel cu specificatorii de format acceptați de șirul Java.

exemple de cod java
Specificator de format Tip de date Ieșire
%A virgulă mobilă (cu excepția BigDecima l) Returnează ieșirea Hex a numărului în virgulă mobilă.
%b Orice tip „adevărat” dacă nu este nul, „fals” dacă nul
%c Caracter caracter Unicode
%d întreg (inclusiv octet, scurt, int, lung, bigint) Număr întreg zecimal
%Este punctul de plutire Număr zecimal în notație științifică
%f punctul de plutire Numar decimal
%g punctul de plutire Număr zecimal, eventual în notație științifică în funcție de precizie și valoare.
%h orice tip Hex șir de valoare din metoda hashCode().
%n Nici unul Separator de linie specific platformei.
%O întreg (inclusiv octet, scurt, int, lung, bigint) Numărul octal
%s orice tip Valoare șir
%t Data/Ora (inclusiv lung, Calendar, Data și TemporalAccessor) %t este prefixul pentru conversiile date/ora. Sunt necesare mai multe steaguri de formatare după aceasta. Vedeți mai jos conversia dată/ora.
%X întreg (inclusiv octet, scurt, int, lung, bigint) Snur hexagonal.