티스토리 뷰
Float 자료형의 경우에는 소숫점 첫째자리까지는 0값이어도 반드시 표기해주지만 소숫점둘째자리부터 모든 0값들은 무효한 데이터로 인식하고 표기해주지 않는것 같다.
예를들어, 3.000 과 같은 값이 있으면 이는 3.0으로 표현된다.
하지만, 3.1230 과 같은 값이 있다면 이는 3.123으로 표현된다.
그러다보니 화면에서 어떤값은 소숫점 첫째자리까지만 있고 어떤값은 둘째짜리까지 다 있고 해서 자릿수를 맞춰달라는 요구사항이 들어왔다.
보통은 numberformat을 이용해서 string으로 변환한 값을 jsp로 보내지만,
이번의 경우엔 이미 보내고 있는 값들이 model내에 셋팅된 값이라 굉장히 귀찮은 작업이 되버린다.
일단은 자바내에선 소숫점 둘째자리까지 무조건 표현해 주기 위해선 printf을 사용하는 방법이 있다.
근데 사실상 내가 사용하기에는 무리가 있다.
System.out.printf( "%04.2f", model.getExpertPoint());
<-- 이런식으로 사용하면 된다.
0은 소숫점아래 무효데이터를 0으로 표기하라는 의미이고, 4는 소숫점 위 자리가 2개라는 의미가 된다.
2는 소숫점 아래 둘째자리까지란 의미이다.
이보다는 jsp단에서 처리하는게 낫겠다 생각이 들어서 jstl을 찾아봤다.
생각보다 간단히 해결된다.
jsp상단에는 포멧관련 태그라이브러리 정보를 적어준다.
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
그리고 실제 표기하고자 하는 데이터를 아래처럼 적어주면된다.
<fmt:formatNumber value="${hospitalModel.expertPoint}" type="pattern" pattern="0.00" />
<fmt:formatNumber value="[값]" type="[number/currency/percent/pattern]" pattern="[출력 패턴 #.##]" />
참고1]
확장특수문자 (escape sequence) ============================================================================= char x;
System.out.printf(" %c -> %d \n", x, (int)x); =============================================================================
정수의 출력에 사용될 수 있는 옵션
문자열의 출력에 사용될 수 있는 옵션
실수의 출력에 사용될 수 있는 옵션
특수문자를 출력하는 옵션
날짜와 시간의 출력에 사용될 수 있는 옵션
|
참고2]
JSTL 포맷 라이브러리
1. 숫자 관련
<fmt:formatNumber value="[값]" type="[number/currency/percent/pattern]" pattern="[출력 패턴 #.##]" />
type |
|
type |
|
EX |
number |
천단위 끊어서 출력(첫자리는 1이상의 숫자로 시작) |
|
|
00123456789 -> 123,456,789 |
currency |
천단위 끊고 소숫점 2째 짜리까지 |
currencySymbol |
숫자 앞에 나올 심볼(\/$ 등) |
1000 -> \1,000.00 |
percent |
퍼센트로 출력 |
|
|
0.3 -> 30% |
2. 날짜 관련
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<jsp:useBean id="date" class="java.util.Date"/>
또는
<c:set var="date" value="<%=new java.util.Date()%>"/>
<fmt:formatDate value="${date}" type="[date/time/both]" timeStyle="[full/short/medium/long]" dateStyle="[full/short/medium/long]" pattern="[날짜 패턴]" />
속성 |
값 |
설명 |
type |
date |
날짜 |
time |
시간 | |
both |
날짜 시간 | |
dateStyle |
full, long, medium, short |
날짜의 출력스타일지정(DateFormat 클래스에 지정) |
timeStyle |
full, long, medium, short |
시간의 출력스타일지정(DateFormat 클래스에 지정) |
pattern |
yyyy-MM-dd HH:mm EEE |
직접 출력 스타일 지정 (SimpleDateFormat의 패턴 이용) |
[출처] JSTL 포맷 라이브러리|작성자 푸른하늘
'Computer > JAVA' 카테고리의 다른 글
이클립스와 JSmooth를 이용하여 실행파일(exe)만들기 (0) | 2015.10.02 |
---|---|
[JAVA] replace 사용 (0) | 2010.01.08 |
[JAVA] ConcurrentHashMap (2) | 2009.12.16 |
Java Mail (0) | 2009.05.14 |
jdk 1.4와 jdk 1.5 의 차이점 (0) | 2009.05.14 |
- Total
- Today
- Yesterday
- 기부사기
- 와코마리아
- UML
- 와코마리아한남동
- 페밀리세일
- 나이지리아
- 와코마리아팸세일
- 안드로이드
- eclipse
- 인도
- 단체소송
- 와코마리아 스웨터
- 새희망씨앗 피해자
- 팸세일
- 사업자등록
- 홈택스
- 6월 패밀리세일
- 해외직구
- MySQL
- java
- 패밀리세일
- 리터너블
- javascript
- 한남동세일
- VirtureBox
- 부드러운맛
- 마라탕 #마라상궈 #마라탕재료 #쉽게만드는마라탕 #중딩입맛 #마라탕잡탕
- 라고스
- 기부피해
- 새희망씨앗
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |