2014年3月12日水曜日

C#でモジュラス16の計算

  1. /// <summary>  
  2. /// モジュラス16 計算  
  3. /// NW-7  
  4. /// </summary>  
  5. /// <param name="Value">/// <returns></returns>  
  6. public static string GetModulus16(string Value)  
  7. {  
  8.     bool result = Regex.IsMatch(Value, @"^[0-9|\-|$|:|/|・|+|A-D]+$");  
  9.     if (!result)  
  10.     {  
  11.         return null;  
  12.     }  
  13.   
  14.     long digit = 0;  
  15.     for (int i = 0; i < Value.Length; i++)  
  16.     {  
  17.         digit += Array.IndexOf(modulus16CharList, Value[i]);  
  18.     }  
  19.   
  20.     string value = modulus16CharList[(digit % 16) == 0 ? 0 : 16 - (digit % 16)].ToString();  
  21.   
  22.     return value;  
  23. }  

0 件のコメント:

コメントを投稿