Какая контрольная сумма (если таковая имеется) используется для номеров отслеживания TNT.com?

StackOverflow https://stackoverflow.com/questions/57053

  •  09-06-2019
  •  | 
  •  

Вопрос

Я пишу программное обеспечение для определения номеров отслеживания (точно так же, как Google идентифицирует номера FedEx или UPS, когда вы их ищете).Большинство курьеров используют такую ​​систему, как «система средневзвешенных модификаций», которую можно использовать для определения того, является ли номер действительным номером отслеживания.Кто-нибудь знает, используется ли такая система для номеров накладных TNT, и если да, то что это такое?Я обратился в службу поддержки TNT, и представитель сказал мне, что они этого не делают...но я бы хотел перепроверить.

Это было полезно?

Решение

Хорошо, прошло три месяца с тех пор, как вы спросили, но я наткнулся на это, когда пишу аналогичное программное обеспечение.Насколько нам известно, ТНТ использует С10 система отслеживания номеров.Это означает, что их номера будут типа 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