JSP/다국어 처리

숫자 태그의 기능과 사용법

별초롱언니 2025. 5. 29. 09:36

✅ What: fmt:formatNumber란?

  • 숫자를 원하는 형식(콤마, 소수점, 퍼센트, 통화 등)으로 출력할 수 있는 JSTL 태그

✅ Why: 왜 쓰나?

  • 백엔드에서 넘겨준 숫자 데이터를 사람이 보기 좋게 표현하기 위해 사용
  • 예: 1500000 → 1,500,000 으로 표시

✅ How: 기본 사용법

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix = "fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<p> 숫자 : <fmt:formatNumber value="3200100" />
	<p> <fmt:formatNumber value="3200100" type="number"/>
	<p> <fmt:formatNumber value="3200100" type="number" groupingUsed="false"/>
	<p> <fmt:formatNumber value="3200100" type="currency" groupingUsed="true"/>
	<p> <fmt:formatNumber value="3200100" type="currency" currencySymbol="&"/>
	<p> <fmt:formatNumber value="0.45" type="percent"/>
	<p> <fmt:formatNumber value="3200100" minIntegerDigits="10" minFractionDigits="2"/>
	<p> <fmt:formatNumber value="3200100.45" pattern=".000"/>
	<p> <fmt:formatNumber value="3200100.456" pattern="#,#00.0#"/>
</body>
</html>

속성명 설명
value 포맷할 숫자 값
type number / currency / percent
pattern 직접 숫자 패턴 지정 (예: #,##0.00)
groupingUsed 천 단위 구분 쉼표 사용 여부 (true / false)
minFractionDigits 소수점 최소 자릿수
maxFractionDigits 소수점 최대 자릿수

💡 Tip or Pitfall

  • 💥 value에 문자열이나 null을 넣으면 에러 발생 가능 → 항상 숫자여야 함
  • 🌐 currency나 percent는 현재 locale 설정에 영향을 받음
    → 예: <fmt:setLocale value="en_US" /> 설정하고 출력하면 $1,000.00 같은 결과가 나옴
  • pattern 속성은 type을 지정하지 않아도 별도 작동함

'JSP > 다국어 처리' 카테고리의 다른 글

날짜/시간 태그의 기능과 사용법  (1) 2025.05.29
리소스번들 메시지 출력하기  (1) 2025.05.28