devxlogo

Compute Credit Card Check Digits

Compute Credit Card Check Digits

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 i As Integer	Dim iEven As Integer	Dim iOdd As Integer	Dim iTotal As Integer	Dim strOneChar As String	Dim iTemp As Integer	' Add digits in even ordinal positions	' starting from rightmost	For i = Len(strNum) - 1 To 2 Step -2		strOneChar = Mid$(strNum, i, 1)		If IsNumeric(strOneChar) Then			iEven = iEven + CInt(strOneChar)		End If	Next i	' Process digits in odd ordinal positions	' starting from rightmost	For i = Len(strNum) To 1 Step -2	strOneChar = Mid$(strNum, i, 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 i	' 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.

devx-admin

Share the Post: