티스토리 뷰

JSP

금액) 숫자 세자리마다 , 넣어주기

개발로퍼 2016. 10. 25. 15:24

돈과 관련된 금액단위를 표시할 때에는 우측정렬과 함께 세자리 숫자마다 ','를 넣어 쉽게 금액을 확인 할 수 있도록 해야한다.




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
댓글
최근에 올라온 글
«   2024/05   »
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 31
Total
Today
Yesterday