'Nexacro-Function/Number'에 해당되는 글 3건

  1. 2017.01.28 Nexacro.Number - 기타
  2. 2017.01.28 Nexacro.Number - format 처리
  3. 2017.01.28 Nexacro.Number - 숫자 검증

[ Nexacro.Number -  기타 ]

 

/*==+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 * Group : 9. 기타
 **=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/


/******************************************************************************************
 * 기능 : 정수인 nStart ~ nEnd의 범위에 있는 숫자에 대하여 random값을 return한다.
 * 인자 :  1. nStart : 시작숫자 ( 단, 정수, 만일 정수가 아니면 Math.floor(nStart)를 적용함)
            2. nEnd   : 끝숫자 ( 단, 정수, 만일 정수가 아니면 Math.floor(nStart)를 적용함)
 * 리턴 : - 성공 = nStart ~ nEnd범위 중 random숫자 (단, nStart, nEnd도 포함됨)
 * 주의사항 :  nStart, nEnd는 정수임에 주의
 *****************************************************************************************/

function gfn_Random(nStart, nEnd)

{

    var range_unit, rand, tmp;

 

    nStart = Math.floor(nStart);

    nEnd = Math.floor(nEnd);

    if( nStart > nEnd )

    {

        tmp = nStart;

        nStart = nEnd;

        nEnd = tmp;

    }

    range_unit = nEnd-nStart+1;

    rand = Math.random();

    rand = Math.random();

    

    return Math.floor(rand*range_unit)+nStart;

}

 

☞  

 

☞  

 
 
 
 

  

'Nexacro-Function > Number' 카테고리의 다른 글

Nexacro.Number - format 처리  (0) 2017.01.28
Nexacro.Number - 숫자 검증  (0) 2017.01.28
Posted by 농부지기
,

[ Nexacro.Number -  format 처리 ]

 

 

/*==+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 * Group : 2. format 지정

 **=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

 


/******************************************************************************************
 * 기능 : 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;

}


/*******************************************************************************
 ★ 설명
    정수인 nStart ~ nEnd의 범위에 있는 숫자에 대하여 random값을 return한다.
 ★ Parameter
    1. nStart : 시작숫자 ( 단, 정수, 만일 정수가 아니면 Math.floor(nStart)를 적용함)
    2. nEnd   : 끝숫자 ( 단, 정수, 만일 정수가 아니면 Math.floor(nStart)를 적용함)
 ★ return
    - 성공 = nStart ~ nEnd범위 중 random숫자 (단, nStart, nEnd도 포함됨)
    - 실패 = -1
 ★ 목적
    1. Math.random()이 0 ~ 1사이만 나와서 불편해서 만들었음
    2. Math.random()은 처음에 0.5근처만 나와서 만들었음
 ★ 주의사항
    nStart, nEnd는 정수임에 주의
 ******************************************************************************/

function fn_Rand(nStart, nEnd)

{

 var range_unit, rand, tmp;

 

 if( fn_IsNull(nStart) || fn_IsNull(nEnd) ) return -1;

 

 nStart = Math.floor(nStart);

 nEnd = Math.floor(nEnd);

 if( nStart > nEnd )

 {

  tmp = nStart;

  nStart = nEnd;

  nEnd = tmp;

 }

 range_unit = nEnd-nStart+1;

 

 var dt = new Date();

 rand = (dt.getMilliseconds()+(Math.random()*2000))/3000;

 

 return Math.floor(rand*range_unit*2)%range_unit+nStart;

}

 

/*******************************************************************************
 ★ 설명
    Degree를 Radian으로 변환
 ★ parameter
    1. nDegree : Degree값(예: 180, 90,...)
 ★ return
    1. 성공 = Radian(예:Math.PI, Math.PI/2,...)
    2. 실패 = NaN
******************************************************************************/

function fn_Deg2Rad(nDegree)

{

 return (Math.PI/180)*nDegree;

}

 

/*******************************************************************************
 ★ 설명
    Radian을 Degree로 변환
 ★ parameter
    1. nRadian : Radian값(예:Math.PI, Math.PI/2,...)
 ★ return
    1. 성공 = Degree(예: 180, 90,...)
    2. 실패 = NaN
******************************************************************************/

function fn_Rad2Deg(nRadian)

{

 return (180/Math.PI)*nRadian;

}

 

☞  

 

☞  

 
 
 
 

  

'Nexacro-Function > Number' 카테고리의 다른 글

Nexacro.Number - 기타  (0) 2017.01.28
Nexacro.Number - 숫자 검증  (0) 2017.01.28
Posted by 농부지기
,

[ Nexacro.Number -  숫자 검증 ]

 

/*==+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 * Group : 1. 숫자 검증
 * Group : 2. format 지정

 * Group : 9. 기타
 **=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

 

/*==+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 * Group : 1. 숫자 검증
 **=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/


/******************************************************************************************
 * 기능 : 문자열이 숫자형식에 맞는지 여부 체크
 * 인자 : sNumber - 체크할 문자열숫자 ( 예 : "-1234.56" )
                   (단, ","가 들어있으면 안 됨)
 * 리턴 : - 성공 = 숫자형식에 맞는경우 true
           - 실패 = 숫자형식에 맞지않는 경우 false
 * 예문 :
 *****************************************************************************************/

function gfn_IsNumber(sNumber)

{

    var c;

    var point_cnt = 0;

    var ret = true;

 

    if (gfn_IsNull(sNumber))   return false;

 

    for (var i=0; i<sNumber.length; i++)

    {

        c = sNumber.charAt(i);

        if ( i == 0 && ( c == "+" || c == "-" ) );

        else if ( c >= "0" && c <= "9" );

        else if ( c == "." ) {

            point_cnt++;

            if( point_cnt > 1 ) {

                ret = false;

                break;

            }

        } else {

            ret = false;

            break;

        }

    }

 

    return ret;

}

 

☞  

 

☞  

 
 
 
 

  

 

'Nexacro-Function > Number' 카테고리의 다른 글

Nexacro.Number - 기타  (0) 2017.01.28
Nexacro.Number - format 처리  (0) 2017.01.28
Posted by 농부지기
,