때때로 우리는 프로그램의 출력이 주어진 특정 형식으로 인쇄되기를 원합니다. C 프로그래밍 언어에서는 printf() 함수를 사용하여 이것이 가능합니다. 이 섹션에서는 다양한 출력 형식에 대해 설명합니다.
Java에서 출력 형식을 지정하는 방법에 대해 논의해 보겠습니다.
Java에서 출력 형식을 지정하는 데 사용할 수 있는 두 가지 방법이 있습니다.
전문가 시스템
- printf( ) 메서드 사용
- format( ) 메소드 사용
System.out.printf() 메서드를 사용하여 출력 형식 지정
이 메소드의 구현은 C 프로그래밍의 printf() 함수와 유사하므로 매우 쉽습니다.
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 ) ; } }
산출:
문자열 추가 자바
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( )은 printf( )와 동일하며 사용할 수도 있습니다.
주목해야 할 중요한 점은 System.out.print() 및 System.out.println()은 단일 인수를 사용하지만 printf() 메서드는 여러 인수를 사용할 수 있다는 것입니다.
DecimalFormat 클래스를 사용한 형식 지정:
DecimalFormat은 십진수 형식을 지정하는 데 사용됩니다.
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 ) ) ; } }
산출:
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 문자열 형식 지정자
여기서는 Java 문자열에서 지원하는 형식 지정자 테이블을 제공합니다.
봄과 봄 mvc
형식 지정자 | 데이터 형식 | 산출 |
---|---|---|
%ㅏ | 부동 소수점(BigDecima l 제외) | 부동 소수점 숫자의 16진수 출력을 반환합니다. |
%비 | 어떤 유형 | null이 아니면 'true', null이면 'false' |
%씨 | 성격 | 유니코드 문자 |
%디 | 정수(byte, short, int, long, bigint 포함) | 십진수 |
%그것은 | 부동 소수점 | 과학적 표기법의 십진수 |
%에프 | 부동 소수점 | 십진수 |
%g | 부동 소수점 | 정밀도와 값에 따라 과학적 표기법으로 표시될 수 있는 십진수입니다. |
%시간 | 어떤 유형 | hashCode( ) 메서드의 값을 나타내는 Hex 문자열입니다. |
%N | 없음 | 플랫폼별 줄 구분 기호입니다. |
%영형 | 정수(byte, short, int, long, bigint 포함) | 8진수 |
%에스 | 어떤 유형 | 문자열 값 |
%티 | 날짜/시간(long, Calendar, Date 및 TemporalAccessor 포함) | %t는 날짜/시간 변환의 접두어입니다. 이후에는 더 많은 형식 지정 플래그가 필요합니다. 아래의 날짜/시간 변환을 참조하세요. |
%엑스 | 정수(byte, short, int, long, bigint 포함) | 16진수 문자열. |