- 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','-','.',' ','$',
- '/','+','%'
- };
- /// <summary>
- /// モジュラス43 計算
- /// CODE39
- /// </summary>
- 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コード
- /// <summary>
- /// モジュラス10/ウェイト3 計算
- /// JAN8 JAN13 ISBN13 ITF NW-7
- /// </summary>
- 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();
- }
////// モジュラス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)