java.text 패키지

이한수·2022년 3월 23일
0

JAVA

목록 보기
8/9
post-thumbnail

개인 공부 정리 목적입니다.
참고 : Java의 정석(남궁성)

1.DecimalFormat

  • 숫자 데이터를 특정한 형식으로 변환 가능
  • 일정한 형식의 텍스트 데이터를 숫자로 변환 가능.

1-1.Pattern

0  -> 0을 표현한다.

#  -> 0을 표현하지 않는다.

,  -> 단위 구분자(1000단위)

;  -> 패턴 구분자
	  이건 예시를 좀 들자면 ,
      #,###.##+;#,###.##-    
      양수일 때 적용 형식과 음수일 떄 적용 형식을 ;로 구분.
      
\u00A4  ->  통화 표시

1-2.사용법 예시

	double num = 123.45;
    DecimalFormat df = new DecimalFormat("#.##");
    String result = df.format(num);			

만일 , 숫자와 기호를 포함한 문자열을 숫자로 바꾸고자 할 경우,

	Number count = df.parse("9,999.99");
   
    double num = count.doubleValue();

parse 메소드는 DecimalFormat의 조상인 NumberFormat에 정의된 메소드라고 한다.

return 값이 Number이다.

참고:
Number은 Long , Integer 같은 숫자 타입을 저장하는 wrapper 클래스의 조상 클래스이다.
Number 클래스에는 intValue(), doubleValue()같은 메소드를 이용하여 기본 타입의 자료형으로 변환할 수 있는 메소드가 정의되어 있다.


2.SimpleDateFormat

  • 날짜 데이터를 원하는 형태로 출력해준다.

2-1. Pattern

y , M -> 년 , 월 , 일 

D , d  -> 해 기준 일 , 월 기준 일

E -> 요일    ex) 월 ,화

a -> 오전/오후   ex) PM

H  ,  h -> 시간 (0~23) , 시간(1~12)

k(소) , K(대)  -> 시간(1~24) , 시간(0~11)

m -> 분(0~59)

s -> 초(0~59)

2-2. 사용 예시

		Date date = new Date();
		
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
		
        String result = df.format(date);
		
        System.out.println(result);
        
        //출력 2022-03-23
        
        

String을 Date로도 가능하다.

	DateFormat df = new SimpleDateFormat("yyyy년 MM월 dd일");
    
	Date d = df.parse("2022년 03월 23일");
    

format 메소드는 Date만 지원하기 때문에 , Calendar를 사용하고 싶다면 , Date로 변환해줘야 한다.


3.MessageFormat

데이터를 정해진 양식에 맞게 출력할 수 있도록 도와준다.

예시

	String msg = "작성자 : {0} , 제목 : {1} , 조회수 : {2}";
    
    Object [] arguments = {
    	"블라블라" , "안녕하세요?" , 30
    };
    
    String result = MessageFormat.format(msg , arguments);
    
    //출력
     System.out.println(result);
     작성자 : 블라블라 , 제목 : 안녕하세요? , 조회수 : 30
profile
성실하게

0개의 댓글