Amigos, eu tenho uma função que gera dois digitos verificadores de um número com sete digitos(por exemplo, 2012001). Esta função está funcionando, mas em alguns números ela retorna 3 ou 4 digitos, Gostaria da ajuda dos senhores para identificar onde está o erro.
Qualquer ajudar é bem-vinda.
Obrigado.
Public Function GetVerifier(strNumero As String) As String
Dim N As Integer, P As Integer, S As Integer, D As Double
For N = 1 To 7
P = (P + Mid(strNumero, N, 1) * N) Mod 11
Next
If P < 3 Then
P = 0
End If
D = strNumero & P
For N = 1 To 8
S = (S + Mid(D, N, 1) * (N - 1)) Mod 11
Next
If S < 3 Then
S = 0
End If
GetVerifier = P & S
End Function
Qualquer ajudar é bem-vinda.
Obrigado.
Public Function GetVerifier(strNumero As String) As String
Dim N As Integer, P As Integer, S As Integer, D As Double
For N = 1 To 7
P = (P + Mid(strNumero, N, 1) * N) Mod 11
Next
If P < 3 Then
P = 0
End If
D = strNumero & P
For N = 1 To 8
S = (S + Mid(D, N, 1) * (N - 1)) Mod 11
Next
If S < 3 Then
S = 0
End If
GetVerifier = P & S
End Function