본문 바로가기

자바 웹 개발자가 될거야/JSP

[JSTL/EL] fmt: formatNumber, formatDate

< fmt >

 

- 포메팅 라이브러리를 의미

- import 하는 것도 core랑 다름

 

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

 

 

① <fmt:formatNumber />

 

- 숫자 정보

- groupingUsed="true"가 default

 

숫자 : 10000000 <br>
<fmt:formatNumber value="10000000" />
<fmt:formatNumber value="10000000" groupingUsed="true"/><br>
<fmt:formatNumber value="10000000" groupingUsed="false"/><br>

 

- pattern으로 소수점도 표시가능

  · default값은 소수점 3자리

 

3.141592 소수점 2자리까지만 표현 <br>
<fmt:formatNumber value="3.141592" /><br>
<fmt:formatNumber value="3.141592" pattern="#.##"/><br>
<fmt:formatNumber value="3.141592" pattern="#.#####"/><br>

 

- 10.5를 10.50으로 표현하고 싶다면

  · pattern="#.#0"으로 표현하면 오류남

 

10.5 -> 10.50 형태로 표현 <br>
<fmt:formatNumber value="10.5" pattern="#.00"/><br>

 

- type="percent" 면 퍼센트 정보 계산

 

<fmt:formatNumber value="0.5" type="percent" /><br>
<fmt:formatNumber value="1.234" type="percent" /><br>
<fmt:formatNumber value="0.65174" type="percent" /><br>

 

- type="currency" 면 통화를 표시

 

 

<fmt:formatNumber value="10000000" type="currency" /> <br>

<fmt:setLocale value="en_us"/>
<fmt:formatNumber value="10000000" type="currency" /> <br>

<fmt:setLocale value="ja_jp"/>
<fmt:formatNumber value="10000000" type="currency" /> <br>

 

- 원화, 달러, 엔 표시를 임의로 바꿀 수도 있음

 

<fmt:formatNumber value="10000000" type="currency" currencySymbol="@"/>

 

 

② <fmt:formatDate />

 

- 날짜 정보

- 포맷팅을 사용하면 날짜가 년도 월 일 요일 정도만 나옴

- type을 time으로 설정하면 시간 정보만 나옴

- type="date"가 default

 

<c:set var="today" value="<%=new Date()%>"/>

기존 날짜 정보 : ${today }<br>

<fmt:formatDate value="${today}"/><br>
<fmt:formatDate value="${today}" type="time"/><br>
<fmt:formatDate value="${today}" type="both"/><br>

 

- 년도 월 일을 길이에 따라 다른 스타일로 표현할 수 있다

 

<fmt:formatDate value="${today}" dateStyle="full"/><br>
<fmt:formatDate value="${today}" dateStyle="long"/><br>
<fmt:formatDate value="${today}" dateStyle="medium"/><br>
<fmt:formatDate value="${today}" dateStyle="short"/><br>

 

- 시간도 길이에 따라 다른 스타일로 표현할 수 있다

 

<fmt:formatDate value="${today}" type="time" timeStyle="full"/><br>
<fmt:formatDate value="${today}" type="time" timeStyle="long"/><br>
<fmt:formatDate value="${today}" type="time" timeStyle="medium"/><br>
<fmt:formatDate value="${today}" type="time" timeStyle="short"/><br>

 

- pattern 속성을 이용하여 원하는 모양으로 변경 가능

 

<h3>2022/1/13(목) 형태로 만들기</h3>
<fmt:formatDate value="${today}" type="date" pattern="yyyy/MM/dd(E)" />

<h3>(오후)04:28:00 형태로 만들기</h3>
<fmt:formatDate value="${today}" type="time" pattern="(a)hh:mm:ss" />

 

 

- 날짜를 나라마다 다른 표현도 가능

 

<fmt:setLocale value="ko_kr"/>
<fmt:formatDate value="<%=new Date() %>" dateStyle="full"/><br>

<fmt:setLocale value="en_us"/>
<fmt:formatDate value="<%=new Date() %>" dateStyle="full"/><br>

<fmt:setLocale value="ja_jp"/>
<fmt:formatDate value="<%=new Date() %>" dateStyle="full"/><br>

 

'자바 웹 개발자가 될거야 > JSP' 카테고리의 다른 글

MVC 패턴  (0) 2022.01.24
[EL] EL 표현식  (0) 2022.01.13
[JSTL/EL] core_choose  (0) 2022.01.13
[JSTL/EL] 반복문 core_foreach, core_forTokens  (0) 2022.01.13
[JSTL/EL] core_if  (0) 2022.01.13