2014年3月12日水曜日

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

/// 
/// モジュラス16 計算
/// NW-7
/// 
/// /// 
public static string GetModulus16(string Value)
{
    bool result = Regex.IsMatch(Value, @"^[0-9|\-|$|:|/|・|+|A-D]+$");
    if (!result)
    {
        return null;
    }

    long digit = 0;
    for (int i = 0; i < Value.Length; i++)
    {
        digit += Array.IndexOf(modulus16CharList, Value[i]);
    }

    string value = modulus16CharList[(digit % 16) == 0 ? 0 : 16 - (digit % 16)].ToString();

    return value;
}

0 件のコメント:

コメントを投稿