자주 사용되는 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진수(가수+진수)로 표시 합니다 |
.값1값2 | 소수점 자리수 제한 | 값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 메소드 사용 방법이였습니다.
궁금한점 또는 틀린부분은 연락주세요! 👻
반응형
'Java(자바) > Java 기본' 카테고리의 다른 글
Java ArrayBlockingQueue 기본 메서드 정리 (0) | 2022.12.02 |
---|---|
Java List Map 객체 정렬하기 (0) | 2022.09.05 |
Mybatis jdbctype(마이바티스 Jdbctype) (0) | 2022.07.18 |
재미있고 어려운 Java의 람다(lambda) (0) | 2022.04.07 |
자바 참조 데이터(Java Array, Java List) 사용간 유의 사항 (0) | 2022.03.21 |
* 위 에니메이션은 Html의 캔버스(canvas)기반으로 동작하는 기능 입니다. Html 캔버스 튜토리얼 도 한번 살펴보세요~ :)
* 직접 만든 Html 캔버스 애니메이션 도 한번 살펴보세요~ :)
댓글