logo

Format de sortida de Java

De vegades volem que la sortida d'un programa s'imprimeixi en un format específic determinat. En el llenguatge de programació C això és possible mitjançant la funció printf(). En aquesta secció, parlarem dels diferents formats de sortida.

Parlem de com podem formatar la sortida en Java.

Hi ha dos mètodes que es poden utilitzar per formatar la sortida en Java:

algorismes d'ordenació d'inserció
  • Utilitzant el mètode printf().
  • Utilitzant el mètode format( ).

Format de la sortida mitjançant el mètode System.out.printf().

La implementació d'aquest mètode és molt fàcil, ja que és similar a la funció printf() en programació 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 ) ; } } 

Sortida:

operadors en programació Python
 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() és equivalent a printf() i també es pot utilitzar.

Un punt important a tenir en compte és que System.out.print() i System.out.println() prenen un sol argument, però el mètode printf() pot acceptar diversos arguments.

Format amb la classe DecimalFormat:

DecimalFormat s'utilitza per formatar números decimals.

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

Sortida:

 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 

Especificadors de format de cadena Java

Aquí, oferim una taula d'especificadors de format compatibles amb Java String.

cadena a char en java
Especificador de format Tipus de dades Sortida
%a coma flotant (excepte BigDecima l) Retorna una sortida hexadecimal del nombre de coma flotant.
%b Qualsevol tipus 'vertader' si no és nul, 'fals' si és nul
%c Personatge Caràcter Unicode
%d enter (inclòs byte, curt, int, llarg, bigint) Enter decimal
%És punt flotant Nombre decimal en notació científica
%f punt flotant Nombre decimal
%g punt flotant Nombre decimal, possiblement en notació científica segons la precisió i el valor.
%h qualsevol tipus Cadena hexadecimal de valor del mètode hashCode().
%n Cap Separador de línia específic per a la plataforma.
%O enter (inclòs byte, curt, int, llarg, bigint) Nombre octal
%s qualsevol tipus Valor de cadena
%t Data/Hora (inclòs llarg, Calendari, Data i TemporalAccessor) %t és el prefix per a les conversions de data/hora. Es necessiten més banderes de format després d'això. Vegeu la conversió de data/hora a continuació.
%x enter (inclòs byte, curt, int, llarg, bigint) Corda hexagonal.