#   ## Ensure Accurate Credit Card Numbers

The last digit in your credit card number is a check digit derived from the other digits using the Luhn Formula as described in ISO/IEC 7812-1:1993. Its primary purpose is to ensure accurate entries of the credit card number during transactions. You can apply the same technique to other applications such as employee numbers or patient numbers. Using check digits for these numbers also ensures more accurate data entries:

Public Function CheckDigit(strNum As String) As Integer

Dim Counter As Integer
Dim iEven As Integer
Dim iOdd As Integer
Dim iTotal As Integer
Dim iTemp As Integer

Dim strOneChar As String

' Add digits in even ordinal positions
' starting from rightmost

For Counter = Len(strNum) - 1 To 2 Step -2

strOneChar = Mid\$(strNum, Counter, 1)

If IsNumeric(strOneChar) Then

iEven = iEven + CInt(strOneChar)

End If

Next Counter

' Process digits in odd ordinal positions
' starting from rightmost

For Counter = Len(strNum) To 1 Step -2

strOneChar = Mid\$(strNum, Counter, 1)

If IsNumeric(strOneChar) Then

' Double it

iTemp = CInt(strOneChar) * 2

If iTemp > 9 Then

' Break the digits (e.g., 19 becomes 1+9)

iOdd = iOdd + (iTemp \ 10) + (iTemp - 10)

Else

iOdd = iOdd + iTemp

End If

End If

Next Counter

' Add even and odd
iTotal = iEven + iOdd

' Return the 10's complement

CheckDigit = 10 - (iTotal Mod 10)

End Function

To test, pass your credit card number, excluding the last digit, as a string parameter. The result should be the last digit of your credit card number.

#### Latest Review Just In 