타임리프 템플릿을 사용하는 와중에 가격의 천(1000) 단위마다 컴마를 붙여야 할 경우가 있었습니다.
이 외에 타임리프를 사용하다 보면 값을 특정 포맷에 맞춰 표기해야 할 경우가 있습니다.
#numbers.formatInteger(표시해야 할 값, 최소 자릿수)
최소 자릿수는 표시해야 할 값의 자리수보다 많을경우 0으로 채워집니다. 예를 들어, 표시해야할 값이 123과 같이 세 자리 숫자이고 최소 자릿수가 5로 지정이 되면 00123으로 출력이 됩니다. 또한, 소수점은 표시되지 않고 버려집니다.
#numbers.formatInteger(표시해야 할 값, 최소 자릿수, 구분자)
첫 번째의 #numbers.formatInteger(표시해야 할 값, 최소 자릿수) 와는 다른 점이 구분자가 추가되었다는 점입니다. 저는 가격을 출력할 경우 천의 자리마다 컴마를 표시하고 싶어 이 포맷을 사용하였습니다.
<div data-th-text="${#numbers.formatInteger(result.totalPrice, 3, 'COMMA') + '원'}"></div>
위와 같이 3자리마다 COMMA(,)를 추가하였습니다. 구분자는 COMMA 이외에 POINT, WHITESPACE, NONE, DEFAULT 가 들어갈 수 있으며, Default는 COMMA입니다. 주의해야 할 점은 최소 자릿수를 지정하고 싶지 않을 경우엔, 최소 자릿수에 1을 사용하여야 값 앞에 0이 채워지지 않습니다.
#numbers.formatDecimal(표시해야 할 값, 최소 정수 자릿수, 최소 소수 자릿수)
이 메소드를 통하여 정수, 소수 모두 최소 자릿수를 지정할 수 있습니다. 예를 들어, #numbers.formatDecimal(12.3, 3, 2)이라고 입력하면 012.34라고 표시됩니다.
반응형
'DEV > Thymeleaf' 카테고리의 다른 글
[Thymeleaf] 커스텀 데이터 속성(th:attr) (2) | 2023.01.05 |
---|---|
[Thymeleaf] 타임리프 날짜 형식 포맷(String to Date / Date to Date) (0) | 2022.11.25 |
[Thymeleaf] 타임리프 주요 기능 유틸리티 - Utility Objects(Strings, Numbers, Objects, Arrays, Lists, Maps, Messages, Dates, Calendars) (2) | 2022.08.12 |
[Thymeleaf] 셀렉트 박스에서의 th:selected 사용법 (4) | 2022.05.10 |
[Thymeleaf] 정의와 사용방법 (2) | 2022.02.23 |
댓글