본문 바로가기
블로그 이미지

방문해 주셔서 감사합니다! 항상 행복하세요!

  
   - 문의사항은 메일 또는 댓글로 언제든 연락주세요.
   - "해줘","답 내놔" 같은 질문은 답변드리지 않습니다.
   - 메일주소 : lts06069@naver.com


Java(자바)/Java 기본

Java String format 정리(자바 문자 형식 정리)

야근없는 행복한 삶을 위해 ~
by 마샤와 곰 2022. 11. 28.

 

자주 사용되는 String format 형식에 대한 간단한 내용정리 입니다.

매번 잊어먹고 찾기가 힘들어서 아래 내용으로 간단하게 정리 해 보았습니다.  : - )

표기
내용
설명
s, S 문자열 String 값을 받습니다
c, C 문자 Character 값을 받습니다
%% 퍼센트 퍼센트를 표시 합니다
b, B 논리값 Boolean 값을 받습니다
d 정수 Integer 값을 받습니다
h, H 16진수 Integer, Double, Float 값을 16진수를 표시 합니다
x, X 정수 Integer 값을 16진수 값을 정수로 표시 합니다
o 정수 Integer 값을 8진 정수로 표시 합니다
f 부동 소수점 Double, Float 값을 받습니다
e, E 부동 소수점 Double, Float 값을 10진수(가수+진수)로 표시 합니다
g, G 부동 소수점 Double, Float 값을 10진수(반올림)로 표시 합니다
a, A 부동 소수점 Double, Float 값을 16진수(가수+진수)로 표시 합니다
.12 소수점 자리수 제한 1은 원하는 소수점 자리수, 2는 위 실수표기값(f, e, E, )을 넣어 표기합니다
tY 날짜 4자리수 년도 LocalDate, Date 같은 날짜 클래스 값을 받습니다
<tm 날짜 2자리수 월
<td 날짜 2자리수 일
<tH 날짜 24시간
<tM 날짜 2자리수 분
<tS 날짜 2자리수 초
ty 날짜 2자리수 년도
<tb 날짜 월
<ta 날짜 1자리수 요일
<tA 날짜 3자리수 요일
<tl 날짜 12자리 시간(소문자L)
<tF 날짜 년--
<tD 날짜 일//
<tT 날짜 시::

 

위 내용을 실제 코드로 옮겨적으면 아래와 같습니다.

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

{
    System.out.println(String.format("01. 문자열 : %s %S ", "abcd", "abcd"));
    System.out.println(String.format("02. 문자 : %c %C", 'a', 'a'));
    System.out.println(String.format("03. 퍼센트는 두개로 : %s%% %d%%", "100", 100));
    System.out.println(String.format("04. 논리값 : %b %B", true, false));
    System.out.println(String.format("05. 정수 : %d", 1234));
    System.out.println(String.format("06. 16진수 : %h %H", 1234.1234, 1234.1234));
    System.out.println(String.format("07. 16진수(오직정수) : %x %X", 1234, 1234));
    System.out.println(String.format("08. 8진수 : %o", 1234));
    System.out.println(String.format("09. 부동 소수점, 10진수로 표시 : %f %f", 1234f, 1234d));			
    System.out.println(String.format("10. 부동 소수점, 10진수(가수와 진수)로 표시 : %e %E", 1234.1234, 1234.1234));
    System.out.println(String.format("11. 부동 소수점, 10진수(반올림)로 표시 : %g %G", 1234.1234, 1234.1234));
    System.out.println(String.format("12. 부동 소수점, 16진수(가수와 진수)로 표시 : %a %A", 1234.1234, 1234.1234));
    System.out.println(String.format("13. 소수점 자릴수 제한(반올림) : %.2f %.2f <- nf면 소수점 n자리", 1234.1264f, 1234.1224d));

    LocalDateTime time = LocalDateTime.parse("2022-01-20 13:30:45", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
    //Date 클래스를 사용해도 무방 : java.util.Date time = new Date();

    System.out.println(String.format("14. 날짜 시간 스타일1 : %tY년 %<tm월 %<td일 %<tH시 %<tM분 %<tS초", time));
    System.out.println(String.format("15. 날짜 시간 스타일2 : %ty년 %<tb %<ta %<tA %<tl시(소문자L) %<tF %<tD %<tT", time));
}

 

날짜 표기에서 클래스는 Date, LocalDate, LocalDateTime, Year 같은 날짜와 관련된 time 패키지 또는 util.Date 패키지의 클래스 값 모두 사용 가능 합니다.

기본적으로 format 클래스에서 형식이 맞지 않는다면 IllegalFormatConversionException 오류가 발생 합니다.

동작 모습 입니다.

 

간단하게 정리하여 본 String.format 메소드 사용 방법이였습니다.

궁금한점 또는 틀린부분은 연락주세요! 👻

반응형
* 위 에니메이션은 Html의 캔버스(canvas)기반으로 동작하는 기능 입니다. Html 캔버스 튜토리얼 도 한번 살펴보세요~ :)
* 직접 만든 Html 캔버스 애니메이션 도 한번 살펴보세요~ :)

댓글