티스토리 뷰
돈과 관련된 금액단위를 표시할 때에는 우측정렬과 함께 세자리 숫자마다 ','를 넣어 쉽게 금액을 확인 할 수 있도록 해야한다.
NumberFormat
해당 클래스를 사용하기 위해서 jsp에서는 java.text class를 import 해주어야 한다.
<%@ page import="java.text.*" %>
그리고 NumberFormat Class를 선언해준다.
NumberFormat nf = NumberFormat.getNumberInstance();
onkeyup Event
입력을 받을 input TAG에 onkeyup Event를 발생시켜 입력과 동시에 세자리 수마다 ,가 찍힐수 있도록 한다.
단위 : 원
Java script
해당 onkeyup 메소드가 실행되는 javascript를 선언해준다.
String.prototype.comma = function() { tmp = this.split('.'); var str = new Array(); var v = tmp[0].replace(/,/gi,''); for(var i=0; i<=v.length; i++) { str[str.length] = v.charAt(v.length-i); if(i%3==0 && i!=0 && i!=v.length) { str[str.length] = '.'; } } str = str.reverse().join('').replace(/\./gi,','); return (tmp.length==2) ? str + '.' + tmp[1] : str; } function onlyNum(obj) { var val = obj.value; var re = /[^0-9\.\,\-]/gi; obj.value = val.replace(re, ''); }
그리고 사용시 주의 할 점은,
직접 입력하는 것이 아닌 값을 불러오는 경우에는 int 형만 인식할 수 있으며, 위에서 선언해준 NumberFormat으로 표현해주어야 한다. 또한, 해당 input 값을 parameter 형식으로 넘길 경우에 숫자와 , 가 같이 넘어가니 받는 곳에서 replace를 통해 ,를 없애주도록하자
int price = 0; nf.format(price);
위와 같이 사용하지 않으면 에러가 발생하니 주의가 필요하다.
'JSP' 카테고리의 다른 글
JSP paging(pagenation) 페이징 소스 (2) | 2017.03.11 |
---|---|
Session 관리하기 (0) | 2016.12.01 |
Http통신을 이용한 JSON 받아오기 (0) | 2016.11.25 |
다음 우편번호 주소 API 사용하기 (1) | 2016.10.21 |
댓글