본문 바로가기

Programming/JavaScript

천단위 마다 콤마추가하기

1. 문자열 함수 이용
function commaNum(num)
{  
    if (num < 0)
    {
         num *= -1;
         var minus = true
    }
    else
        var minus = false

    var dotPos = (num+"").split(".")
    var dotU = dotPos[0]
    var dotD = dotPos[1]
    var commaFlag = dotU.length%3

    if (commaFlag)
    {
         var out = dotU.substring(0, commaFlag) 

        if (dotU.length > 3)
            out += ","
     }
     else
         var out = ""

    for (var i = commaFlag; i < dotU.length; i+=3)
   {
        out += dotU.substring(i, i+3) 

        if (i < dotU.length-3)
            out += ","
    }

    if (minus)
        out = "-" + out
    if (dotD)
        return out + "." + dotD
    else
        return out 
}

 2. 정규식을 이용하는 방법
function convertComma(before)
{
    var str = before.toString();      
    var strArr = str.split('.');  
    var regx = RegExp(/(-?\d+)(\d{3})/);

    while (regx.test(strArr[0]))
    {
         strArr[0] = strArr[0].replace(regx,"$1,$2");
     }

     if (strArr[1])
     {
         str = strArr[0] +"."+strArr[1];
      }
      else
      {
          str = strArr[0];
      }
      return str;
}