问题标签 [check-digit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
11967 浏览

fedex - 如何计算 FedEx Smartpost 追踪号码的校验位

FedEx Ground 的追踪号码有不同的数字:12、15、20、22。

12 位跟踪号码使用 mod 11 算法。其他人使用 mod 10 算法。

但最近我得到了一些 20 位数的 FedEx Smartpost 跟踪号码,这两种算法都无法识别。

那么,如何识别这些跟踪号?

样品跟踪号:7489999873402038xxxx 6129270107532465xxxx


我想通了。

见:http: //images.fedex.com/us/software/pdf/FedEx_SmartPost_Job_Aid_v2600_06222012.pdf https://www.pdffiller.com/en/project/10655396.htm

22 位跟踪号码删除 2 位应用程序标识符(91 或 92)。我们需要在 mod 10 算法之前将应用程序标识符添加到跟踪号。

0 投票
2 回答
906 浏览

c# - 为什么我的 ASCII char 到 int 转换失败?

根据这里的图表:

http://www.idautomation.com/barcode-faq/code-128/

这个角色:

等于值 103。

然而这段代码:

...当文本框中的值和条码的值为“ËTry another string.”时,因此 barcode[0] 为“Ë”,返回值 171 而不是 103...???

并且根据这张图表: http: //www.adams1.com/128table.html,103对应的值为‡,但是当我将barCode设置为“‡Try another string.”时,返回值为8193 ... ???越来越好奇...

注意:相关/初步帖子是此代码用于计算 Code128 条形码校验位是否正确?

0 投票
2 回答
3200 浏览

c# - 计算 UPC-A 条码的校验位

我目前正在使用 VS2010 中的 Windows 窗体,该窗体应该为新部件号创建 UPC-A 并将它们存储在数据库中。到目前为止,我仍在尝试将这些部分组合在一起,并且在计算校验位时遇到了问题。我想出了以下两种情况:

场景 1:按照我们目前在 Excel 中执行的方式进行计算:

运行此代码时,我收到错误消息“对于 Int32,值太大或太小”。我不明白为什么因为“值”是varchar12 个字符(它们都是数字)。

场景2:我在网上找到了一段代码。此代码有效,但给了我错误的校验位。我正在使用我们使用您的 Excel 工作表计算的 UPC:

在这个例子中,校验位显然应该是 8,但它返回 2。我在这上面花了几乎一整天的时间,可以使用一些建议。为什么我在第一种情况下会收到错误,为什么在第二种情况下我会收到与应有的不同的校验位?

在此先感谢您的帮助!

克里斯

编辑:

我删除了之前的两次编辑,因为代码存在缺陷,从某种意义上说我没有得到正确的结果。我发现我们使用 Azalea 条形码,他们有自己的计算校验位的方法(参见 ChkDigitSubtotal)。所以下面的代码有效,并为我的场景提供了正确的校验位。我认为对于所有 UPC-A 计算,此代码将适用于 chkDigitSubtotal。感谢哈里森的出色指导和足智多谋的回答!

0 投票
2 回答
16340 浏览

java - 如何计算 IBAN 国家校验码?

Wikipedia之后,我正在开发一个 Java 应用程序来计算和验证来自不同国家的 IBAN。一些 BBAN 有一个国家校验位,但我找不到任何关于如何计算它的文档。我在哪里可以找到“国家校验位”的算法?我对“iban check digit”不感兴趣,但对与国家相关的数字不感兴趣。

0 投票
3 回答
10341 浏览

java - 如何生成 CUSIP 校验位

CUSIP 是一个 9 位字母数字代码,用于唯一标识金融证券。

https://en.wikipedia.org/wiki/CUSIP

它们是在 1964 年发明的,鉴于 60 年代数据传输的可靠性,第 9 位实际上是用于确认前 8 个字符有效性的校验位。有时,即使在今天,您也可能找到想要验证 CUSIP 的理由,或者公司或服务令人讨厌地决定只传输 8 个字符的 CUSIP,即使这违背了校验位的目的。

生成校验位的过程是:

  1. 根据它们在字母表中的序数位置加上 9(A=10,B=11,...Z=35)将非数字数字转换为值,并转换字符 *=36,@=37,#=38。

  2. 将每个偶数乘以 2

  3. 如果乘法的结果是两位数,则将这些数字相加。(12 = 1 + 2 = 3)

  4. 获取所有值的总和。

  5. 获取此操作的底值:(10 - ( sum modulo 10)) modulo 10。

在 C# 中获得此值的最佳/最简单方法是什么?

0 投票
2 回答
977 浏览

python - 使用for循环时在python中出现类型错误

我相信这对你来说是一个非常基本的问题,但我正在为我的计算课制作一个 ISBN 校验位计算器。我目前的代码是这样的:

我知道这是一种非常低效的做法,你可能甚至看着它都在哭。

为了提高效率,我做的第一件事是使用 for 循环。所以,我改变了:

到一个 for 列表,但我还没有想出如何做到这一点。这是我需要帮助的一点(另外,我知道这个功能毫无意义。我们的老师要求我们有一个,但如果有人能找到更好的方法,那也太棒了)

非常感谢您的帮助。同样,如果您发现任何可以做得更好的东西,那么请这样做。(另外,这是 python 3。)

0 投票
1 回答
44 浏览

python - ISBN程序的Python属性错误

我刚刚修复了我的 ISBN 校验码代码以提高效率,但现在它又出现了属性错误:

这是代码:

非常感谢

0 投票
3 回答
2249 浏览

algorithm - 将 Damm 算法扩展到 base-32

我想使用Damm 算法为具有 32 个字符的字母的代码生成校验位。该算法本身很容易应用于任何基础(2 或 6 除外)。困难在于必要的查找表,它必须是一个完全反对称的拟群,在主对角线上有一个字符(通常为 0)。

Wikipedia 页面给出了 base-10 的表,Python实现给出了base-16的表,但我没有找到 base-32 的示例。有人有适合base-32的桌子吗?

0 投票
1 回答
235 浏览

check-digit - 100 美元钞票上的代码生成算法是什么?

我正在设计存储产品的主键。我环顾四周寻找一些关于如何设计 ID 的见解,因为使用自动增量太无聊了。有人知道下面钞票上的代码'KB46279860I'是什么意思吗?

100 美元图片

我认为该代码不仅使用自动增量,而且还使用了一些算法,例如校验位等。

谁能给我一些提示,谢谢!!

0 投票
1 回答
380 浏览

algorithm - 有没有办法在 Perl 中检查 CUSIP 的数字

我的工作场所不允许我们安装任何模块,因此该选项不适合我。因此决定查看此链接http://en.wikipedia.org/wiki/CUSIP并按照那里的伪代码并尝试在 Perl 中对其进行编码。

我想出了以下几点:

不完全确定为什么它不起作用。