logo

Java-utdataformatering

Noen ganger ønsker vi at utdataene fra et program skal skrives ut i et gitt spesifikt format. I programmeringsspråket C er dette mulig ved å bruke funksjonen printf( ). I denne delen vil vi diskutere de forskjellige utdataformateringene.

La oss diskutere hvordan vi kan formatere utdataene i Java.

Det er to metoder som kan brukes til å formatere utdataene i Java:

innstillingsmeny for Android-telefoner
  • Ved å bruke printf( )-metoden
  • Bruke format( )-metoden

Formatere utdata ved hjelp av System.out.printf( )-metoden

Implementeringen av denne metoden er veldig enkel siden den ligner på printf( )-funksjonen i C-programmering.

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

Produksjon:

snu strengen i java
 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( ) tilsvarer printf( ) og kan også brukes.

Et viktig poeng å merke seg er at System.out.print( ) og System.out.println( ) tar ett enkelt argument, men printf( )-metoden kan godta flere argumenter.

Formatering ved hjelp av DecimalFormat-klassen:

DecimalFormat brukes til å formatere desimaltall.

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

Produksjon:

 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-strengformatspesifikasjoner

Her gir vi en tabell med formatspesifikasjoner som støttes av Java-strengen.

lenket liste
Formatspesifikasjoner Data-type Produksjon
%en flytepunkt (unntatt BigDecima l) Returnerer hex-utdata av flyttall.
%b Hvilken som helst type ' sant ' hvis ikke-null, ' usant ' hvis null
%c Karakter Unicode-tegn
%d heltall (inkl. byte, kort, int, lang, bigint) Desimaltall
%Det er flytende punkt Desimaltall i vitenskapelig notasjon
%f flytende punkt Desimaltall
%g flytende punkt Desimaltall, eventuelt i vitenskapelig notasjon avhengig av presisjon og verdi.
%h hvilken som helst type Hex-verdistreng fra hashCode( )-metoden.
%n Ingen Plattformspesifikk linjeseparator.
%O heltall (inkl. byte, kort, int, lang, bigint) Oktalt tall
%s hvilken som helst type Strengverdi
%t Dato/klokkeslett (inkl. lang, kalender, dato og midlertidig tilgang) %t er prefikset for dato/klokkeslett-konverteringer. Flere formateringsflagg er nødvendig etter dette. Se dato/klokkeslett konvertering nedenfor.
%x heltall (inkl. byte, kort, int, lang, bigint) Sekskantsnor.