Til tider ønsker vi, at output fra et program skal udskrives i et givet specifikt format. I programmeringssproget C er dette muligt ved hjælp af printf( )-funktionen. I dette afsnit vil vi diskutere de forskellige outputformateringer.
Lad os diskutere, hvordan vi kan formatere output i Java.
Der er to metoder, der kan bruges til at formatere output i Java:
relationssammensætning
- Brug af metoden printf( ).
- Brug af format( )-metoden
Formatering af output ved hjælp af System.out.printf( )-metoden
Implementeringen af denne metode er meget nem, da den ligner printf( )-funktionen 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 ) ; } }
Produktion:
minimax algoritme
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( ) svarer til printf( ) og kan også bruges.
Et vigtigt punkt at bemærke er, at System.out.print( ) og System.out.println( ) tager et enkelt argument, men printf( )-metoden kan acceptere flere argumenter.
Formatering ved hjælp af DecimalFormat-klassen:
DecimalFormat bruges til at formatere decimaltal.
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 ) ) ; } }
Produktion:
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 String Format Specifiers
Her giver vi en tabel med formatspecifikationer, der understøttes af Java-strengen.
linket liste
Formatspecifikation | Datatype | Produktion |
---|---|---|
%en | flydende komma (undtagen BigDecima l) | Returnerer hex-output af flydende kommatal. |
%b | Enhver type | 'sand' hvis ikke-null, 'false' hvis null |
%c | Karakter | Unicode-tegn |
%d | heltal (inkl. byte, kort, int, lang, bigint) | Decimalt heltal |
%Det er | flydende komma | Decimaltal i videnskabelig notation |
%f | flydende komma | Decimaltal |
%g | flydende komma | Decimaltal, eventuelt i videnskabelig notation afhængig af præcision og værdi. |
%h | enhver type | Hex-streng af værdi fra hashCode( )-metoden. |
%n | Ingen | Platformspecifik linjeseparator. |
%O | heltal (inkl. byte, kort, int, lang, bigint) | Oktalt tal |
%s | enhver type | Strengværdi |
%t | Dato/tid (inkl. lang, kalender, dato og midlertidig adgang) | %t er præfikset for dato/klokkeslæt konverteringer. Der er brug for flere formateringsflag herefter. Se dato/tidskonvertering nedenfor. |
%x | heltal (inkl. byte, kort, int, lang, bigint) | Hex streng. |