개발정보

월 Number LPAD기능 구현 자바스크릡트

쿠카곰돌이 2019. 6. 22. 12:26
반응형

/**

  *  trim() 함수

  */
String.prototype.trim = function() {
    return this.replace(/(^\s*)|(\s*$)/gi, "");
}

 

 /**

  * lpad(INT n, CHAR c)

  */
String.prototype.lpad = function(n, c) {

    var ss = ( this.trim() == "" ) ? "" : this;
    while (ss.length < n){ ss = c + "" + ss; }
    return ss;
}

 

 /**

  * 초를 [분:초] 로 바꿔줌
  */

 Number.prototype.convertMSFromSec = function() {

    var sec = this % 60; //60으로 나눈 몫을 sec로 설정
    var min = Math.floor(this/60) % 60; //60으로 나누고.. 다시 60으로 나눈 나머지를 분으로..
    if(sec<10) sec = "0" + sec; //한자리면 앞에 0을 붙임
    if(min<10) min = "0" + min;  //한자리면 앞에 0을 붙임

    return min + ":" + sec;  //HH:MM:SS형식을 만듬
}

 

     Number.prototype.lpad = function(n, c) {
         var ss = "" + this;
         ss = "" + ss;
         while (ss.length < n){ ss = c + "" + ss; }
         return ss;
     }

 


// trim()이 선행적으로 존재하여야 함.
// 숫자에 1000단위마다 [,] 를 찍어줌
String.prototype.makeMoneyType = function makeMoneyType()
{
    var s = this.trim();
    if ( s == "" ) return s;

    var s1, s2
    var index = s.indexOf(".");
    if (index == -1)
    {
        s1 = s;
        s2 = ""
    }
    else
    {
        s1 = s.substring(0, index);
        s2 = s.substring(index);
    }

    var prefix = s1.charAt(0);
    if ( prefix == '-' || prefix.charAt(0) == '+' )
        s1 = s1.substring(1);
    else
        prefix = "";

    var cnt = 0;
    var temp = "";
    for (var i=s1.length-1; i>=0; i--)
    {
        cnt++;
        if (cnt == 3)
        {
            temp = (i>0 ? "," : "")+s1.charAt(i) + temp;
            cnt = 0;
        }
        else
        {
            temp = s1.charAt(i) + temp;
        }
    }

    return prefix+temp+s2;
}

반응형