lucamauri
2/19/2015 - 5:08 PM

Check digit Luhn

Check digit Luhn

Public Function Luhn(StringToCheck As String) As String
        Dim CurrDigit As Integer
        Dim TotalCounter As Integer
        Dim DoubleDigit As Integer

        TotalCounter = 0

        For i = StringToCheck.Length To 1 Step -1
                Try
                        CurrDigit = Integer.Parse(StringToCheck(i - 1))
                Catch ex As Exception
                        Return ex.ToString
                End Try
            If Not CBool(i Mod 2) Then
                DoubleDigit = CurrDigit * 2

                If DoubleDigit > 9 Then
                    TotalCounter += Integer.Parse(DoubleDigit.ToString()(0)) + Integer.Parse(DoubleDigit.ToString()(1))
                Else
                    TotalCounter += DoubleDigit
                End If
            Else
                TotalCounter += CurrDigit
            End If
        Next
        Return ((TotalCounter * 9) Mod 10).ToString
    End Function