使用校验数字算法确定输入的值是否有效?

时间:2018-12-06 22:33:22

标签: vb.net

我正在为表单编写代码,该表单应该确定用户输入的值是否有效作为校验位。他们输入一个13位数字,它应该确定最后一个值是否有效作为校验位。我已经为校验数字算法编写了代码,但是在比较算法找到的值与用户输入的内容时遇到了麻烦。我尝试使用substring方法将用户给出的第13个数字与算法确定的校验位进行比较,但是我在所有语法上都遇到了问题。

这是我一直在努力的代码:

Private Sub btnValidate_Click(sender As Object, e As EventArgs) Handles btnValidate.Click
    Dim intDigit As Integer
    Dim intTotalOdd As Integer
    Dim intTotalEven As Integer
    Dim intGrandTotal As Integer
    Dim intRemainder As Integer
    Dim intCheckDigit As Integer

    If txtNumber.Text.Length = 13 Then
        For intOdd As Integer = 1 To 11 Step 2
            intTotalOdd += (intDigit * 3)
        Next intOdd
        For intEven As Integer = 0 To 10 Step 2
            intTotalEven += intDigit
        Next intEven
        intGrandTotal = intTotalOdd + intTotalEven
        intRemainder = intGrandTotal Mod 10
        If intRemainder <> 0 Then
            intCheckDigit = 10 - intRemainder
        End If
        If txtNumber.Text.Substring(12, 13) = intCheckDigit Then
            lblStatus = "Valid"
        Else
            lblStatus = "Not Valid"
        End If
    End If

End Sub

我认为我的工作方式应该可以工作,但是我对如何使语法工作没有太多参考。我尝试执行此操作的方式会起作用还是需要以其他方式进行处理?

0 个答案:

没有答案