Cuál, si alguna, de la suma de comprobación se utiliza para TNT.com los números de seguimiento?
-
09-06-2019 - |
Pregunta
Estoy escribiendo un software para identificar los números de seguimiento (en la misma forma en la que Google identifica FedEx o UPS números cuando usted busca para ellos).La mayoría de los mensajeros en el uso de un sistema, como un "promedio ponderado de la mod del sistema", que puede ser utilizado para identificar si un número es válido número de seguimiento.¿Alguien sabe si TNT consignación del uso de números de tal sistema, y si es así, ¿qué es?He pedido a la TNT de apoyo, y el representante me dijo que no...pero me gustaría comprobar de nuevo.
Solución
OK, así que es de tres meses desde que pedí, pero me topé con esto que yo estoy escribiendo una pieza similar de software.Como ya sabemos TNT usa el S10 sistema de número de seguimiento.Lo que significa que sus números serán del tipo AA#########AA.Con las dos últimas letras correspondiente a la norma ISO/IATA código de país.Habiendo dicho que TNT usa WW que creemos debe estar de pie por todo el mundo.Esta no es una respuesta, al menos no se trata de las sumas de comprobación o algoritmos, pero podría ser útil?Espero que ayude
Willow
Otros consejos
Como lo que puedo decir, es que no la hay.Lo siento.
Yo tome lo que usted está tratando de validar el número de seguimiento entró para asegurarse de que se ha introducido correctamente?
-- Kevin Fairchild
Yo creo que no es un Dígito de control / dígito de suma de verificación, Posiblemente un derivado de la MOD10 pero no tienen idea de qué algoritmo es, que se conoce como el 9no dígito por TNT.Sería bueno saber???
Todo lo que sé es 12345678 dígito de control es de 5 y 22345678 dígito es 8.
En realidad, es MOD 11 VB.net he escrito es la siguiente:
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)