RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.

Tip of the Day
Language: Visual Basic
Expertise: Beginner
Feb 3, 1999



Building the Right Environment to Support AI, Machine Learning and Deep Learning

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)
				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.
Arnel J.
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date