我正在编写一些软件来识别跟踪号码(就像 Google 在搜索 FedEx 或 UPS 号码时识别它们一样)。大多数快递公司使用诸如“加权平均模系统”之类的系统,该系统可用于识别号码是否是有效的追踪号码。有谁知道TNT托运号码是否使用这样的系统,如果是的话,它是什么?我已经要求 TNT 支持,代表告诉我他们不...但我想再检查一下。

有帮助吗?

解决方案

好吧,距离你问这个问题已经过去了三个月,但我在编写一个类似的软件时偶然发现了这一点。据我们所知,TNT 使用 S10 跟踪号码系统。这意味着他们的号码将是 AA##########AA 类型。最后两个字母对应 ISO/IATA 国家/地区代码。话虽如此,TNT 使用 WW,我们相信它必须代表全球。这不完全是一个答案,至少它与校验和或算法无关,但它可能有用吗?希望有帮助

其他提示

据我所知,没有一个。对不起。

我认为您正在尝试验证输入的跟踪号码以确保其输入正确?

——凯文·费尔柴尔德

我相信有一个校验位/校验和位,可能是 MOD10 的派生物,但不知道它是什么算法,被 TNT 称为第 9 位。很高兴知道???

我只知道12345678校验位是5,22345678校验位是8。

它实际上是MOD 11 VB.net我写的如下:

  Dim number As String = TextBox1.Text
    Dim A As Integer
    Dim B As Integer
    Dim C As Integer
    Dim check_digit As Integer

    A = (CInt(Mid(number, 1, 1)) * 8) + (CInt(Mid(number, 2, 1)) * 6) + (CInt(Mid(number, 3, 1)) * 4) + (CInt(Mid(number, 4, 1)) * 2) + (CInt(Mid(number, 5, 1)) * 3) + (CInt(Mid(number, 6, 1)) * 5) + (CInt(Mid(number, 7, 1)) * 9) + (CInt(Mid(number, 8, 1)) * 7)
    B = ((A \ 11) * 11)
    C = A - B

    If C = 0 Then
        check_digit = 5
    End If

    If C = 1 Then
        check_digit = 0
    End If

    If C <> 0 And C <> 1 Then
        check_digit = 11 - C
    End If

    MsgBox(number & check_digit)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top