상세 컨텐츠

본문 제목

사업자번호 체크

General

by 탑~! 2009. 3. 31. 11:30

본문


#region === 사업자등록번호에 대한 알고리즘 ===
  /// <summary>
  /// /// 사업자 번호에 대한 Check
  /// -- 사업자등록번호 체크 알고리즘
  ///   예: 118-01-48428
  ///   체크방법:
  ///     (1) 사업자등록번호 각각의 수에 다음과 같은 수를 곱하여 더한다.
  ///         1 1 8 - 0 1 - 4 8 4 2 8 <- 체크섬
  ///       * 1 3 7   1 3   7 1 3 5
  ///      -------------------------------
  ///        (1*1)+(1*3)+(8*7)+(0*1)+(1*3)+(4*7)+(8*1)+(4*3)+( 절삭((2*5)/10) + 나머지((2*5),10) )
  ///        = 112
  ///     (2) 계산한 값을 10로 나눈 나머지 = 2
  ///     (3) 10 에서 (2)를 뺀 수가 사업자등록번호의 마지막 자리의 수와 같아야 됨
  ///         10 - 2 = 8 ==> ok !
  /// </summary>
  /// <param name="strCustID"></param>
  /// <returns></returns>
  public bool ShowCheckCustomerNo(string strCustID)
  {
   try
   {
    string strCheckID = "137137135";
    string CustID = strCustID.Replace("-", "").Trim();
    Decimal iLast = Convert.ToDecimal(CustID.Substring(9, 1));
    Decimal ret = 0;
    Decimal ick = 0;
    Decimal iCust = 0;

    for (int i = 0; i < 9; i++)
    {
     ick = Convert.ToInt32(strCheckID.Substring(i, 1));
     iCust = Convert.ToInt32(CustID.Substring(i, 1));
     if (i < 8)
     {
      ret = ret + (ick * iCust);
     }
     else if (i == 8)
     {
      ret =  ret + Decimal.Truncate((ick * iCust) / 10) + Decimal.Remainder((ick * iCust), 10);
     }
    }

    ret = Decimal.Remainder(ret, 10);
    if (ret == 0) ret = 0;
    else ret = 10 - ret;

    if (ret == iLast)
    {
     return true;
    }
    else
    {
     return false;
    }
   }
   catch
   {
    return false;
   }
  }
  #endregion

'General' 카테고리의 다른 글

ConnectionString 만들기  (0) 2009.11.26
한글날 기념 폰트 및 무료제공 폰트들  (0) 2009.06.10
나눔고딕 코딩용 글꼴  (0) 2009.03.27
Internet Explorer 8 정식 출시  (0) 2009.03.20
cmd 모드에서 registry 등록  (0) 2009.03.18

관련글 더보기