Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

JSP에서 통화 형식 지정하기: fmt:formatNumber 태그 완벽 정리


JSTL fmt:formatNumber 태그란?

JSP에서 금액이나 수치를 읽기 쉬운 형태로 표시하려면 JSTL(JSP Standard Tag Library)이 제공하는 <fmt:formatNumber> 태그를 활용하면 됩니다. 이 태그 하나로 숫자(NUMBER), 백분율(PERCENT), 통화(CURRENCY) 세 가지 유형의 값을 원하는 형식으로 간편하게 변환할 수 있습니다.

주요 속성

<fmt:formatNumber> 태그에서 사용할 수 있는 주요 속성은 다음과 같습니다.

속성설명필수 여부기본값
value표시할 숫자 값없음
typeNUMBER, CURRENCY, PERCENT 중 하나아니오NUMBER
pattern출력에 적용할 사용자 정의 형식 패턴아니오없음
currencyCode통화 코드(type = "currency"일 때 사용)아니오기본 로케일에서 가져옴
currencySymbol통화 기호(type = "currency"일 때 사용)아니오기본 로케일에서 가져옴
groupingUsed천 단위 그룹화(콤마) 여부(TRUE 또는 FALSE)아니오true
maxIntegerDigits출력할 정수부의 최대 자릿수아니오없음
minIntegerDigits출력할 정수부의 최소 자릿수아니오없음
maxFractionDigits출력할 소수부의 최대 자릿수아니오없음
minFractionDigits출력할 소수부의 최소 자릿수아니오없음
var형식화된 결과를 저장할 변수 이름아니오페이지에 바로 출력
scope변수가 저장될 범위(page, request, session, application)아니오page

사용 예제

다음은 미국 달러(USD) 형식으로 잔액을 출력하는 예제입니다.

<%@ taglib prefix = "c" uri = "https://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix = "fmt" uri = "https://java.sun.com/jsp/jstl/fmt" %>
<html>
   <head>
      <title>JSTL fmt:formatNumber Tag</title>
   </head>
   <body>
      <h3>숫자 형식:</h3>
      <c:set var = "balance" value = "120000.2309" />
      <p>미국 통화(USD) :
         <fmt:setLocale value = "en_US"/>
         <fmt:formatNumber value = "${balance}" type = "currency"/>
      </p>
</body>
</html>

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

숫자 형식:
미국 통화(USD) : $120,000.23

한국 원화(KRW)로 표시하기

로케일만 ko_KR로 변경하면 원화 기호(₩)가 붙은 형태로 출력됩니다.

<fmt:setLocale value = "ko_KR"/>
<fmt:formatNumber value = "${balance}" type = "currency"/>
한국 통화(KRW) : ₩120,000

pattern 속성으로 직접 형식 지정하기

type 속성 대신 pattern 속성을 사용하면 소수점 자릿수, 천 단위 구분 기호 등을 직접 제어할 수 있습니다.

<fmt:formatNumber value = "${balance}" pattern = "#,##0.00"/>
120,000.23

이처럼 <fmt:formatNumber> 태그를 사용하면 별도의 자바 코드 없이 JSP만으로도 다양한 숫자·통화 형식을 깔끔하게 처리할 수 있습니다.