/****************************************************************************************** * 기능 : 3자리마다 콤마(,)를 찍어 준다. (화폐 표현) * 인자 : obj : 화폐 단위로 전환하고자 하는 수치 * 리턴 : 화폐 단위로 전환된 수치 * 예문 : currencyFormat("7777777"); *****************************************************************************************/
function gfn_CurrencyFormat(obj, type) {
if(gfn_IsNull(obj)) return;
var txtNumber = "";
if(obj == '[object]') {
txtNumber = String(obj.value);
} else {
txtNumber = String(obj);
}
if(!gfn_IsNull(type)) {
var idxVal = txtNumber.indexOf(".");
var chkVal = txtNumber.length - idxVal;
if(type == "F") {
if(idxVal == -1) {
txtNumber = txtNumber + ".00";
} else if(chkVal == 2) {
txtNumber = txtNumber + "0";
}
} else {
var digit = Number(type);
var suffix1 = ".";
var suffix2 = "";
if(digit != 0) {
if(idxVal == -1) {
for(var i=0; i<digit; i++) {
suffix1 += "0";
}
txtNumber = txtNumber + suffix1;
} else if(chkVal >= 2) {
for(var j=0; j<digit-chkVal+1; j++) {
suffix2 += "0";
}
txtNumber = txtNumber + suffix2;
}
}
}
}
var rxSplit = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
var arrNumber = txtNumber.split('.');
var result = "";
arrNumber[0] += '.';
do {
arrNumber[0] = arrNumber[0].replace(rxSplit, '$1,$2');
} while (rxSplit.test(arrNumber[0]));
if(arrNumber.length > 1) {
result = arrNumber.join('');
} else {
result = arrNumber[0].split('.')[0];
}
if(result.substring(0, 1) == ".") result = "0" + result;
if(obj == '[object]') {
obj.value = result;
}
return result;
}
/******************************************************************************* ★ 설명 숫자에 ","를 집어넣기 ★ Parameter 1. sNum : 숫자( 예 : -1234567.89 ) ★ return - 성공 = ","가 들어간 문자열 ( 예 : -1,234,567.89 ) - 실패 = "" ******************************************************************************/
function fn_SetComma(sNum)
{
var ppos, sDigit, nEnd, nStart=0, sRet="";
if( fn_IsNull(sNum) ) return "";
if( sNum.charAt(0) == "+" || sNum.charAt(0) == "-" )
{
sRet += sNum.charAt(0);
nStart = 1;
}
ppos = Pos(sNum, ".", nStart);
if( ppos < 0 )
nEnd = sNum.length;
else
nEnd = ppos;
sDigit = sNum.substr(nStart, nEnd-nStart);
for( pos = 0 ; pos < sDigit.length ; pos ++ )
{
if( pos != 0 && (sDigit.length-pos)%3 == 0 )
sRet += ",";
sRet += sDigit.charAt(pos);
}
sRet += sNum.substr(nEnd);
return sRet;
} |