private static char[] modulus43CharList =
{
'0','1','2','3','4','5','6','7','8','9',
'A','B','C','D','E','F','G','H','I','J',
'K','L','M','N','O','P','Q','R','S','T',
'U','V','W','X','Y','Z','-','.',' ','$',
'/','+','%'
};
///
/// モジュラス43 計算
/// CODE39
///
public static string GetModulus43(string Value)
{
if (!Regex.IsMatch(Value, @"^[A-Z|0-9|\-|.| |$|/|+|%]+$"))
{
throw new FormatException();
}
long x = 0;
for (int i = 0; i < Value.Length; i++)
{
x += Array.IndexOf(modulus43CharList, Value[i]);
}
return modulus43CharList[x % 43].ToString();
}
2013年7月9日火曜日
C#でモジュラス43の計算
バーコードのCode39で使うチェックディジットです
C#でモジュラス10/ウェイト3の計算
だいぶ前に書いたバーコード作成ソフトのコードを見直してます。
ソースもさらしていきます
JANコードなどで使うチェックディジットです
Modulus10W3コード
XMLコメントが入るとおかしくなるなあ
タグが消えたりしてしまう なんでだろう
ソースもさらしていきます
JANコードなどで使うチェックディジットです
Modulus10W3コード
////// モジュラス10/ウェイト3 計算 /// JAN8 JAN13 ISBN13 ITF NW-7 /// public static string GetModulus10Weight3(string Value) { if (!Regex.IsMatch(Value, @"^[0-9]+$")) { throw new FormatException(); } int x = 0; for (int i = 0; i < Value.Length; i++) { x += int.Parse(Value[Value.Length - 1 - i].ToString()) * ((i % 2 == 0) ? 3 : 1); } x = (10 - (x % 10)) % 10; return x.ToString(); }
XMLコメントが入るとおかしくなるなあ
タグが消えたりしてしまう なんでだろう
2013年7月2日火曜日
登録:
コメント (Atom)