zoukankan      html  css  js  c++  java
  • 生成字符串校验码的方法

             以前的一个项目中遇到过要核对条码的校验码的需求,感觉有时候还是非常有用的,下面提供代码,代码版本为VB.net:

     //根据输入的的条码来计算该条码的校验位

    Private Function GetCheckDigit(Byal strCode As String) As String
            Dim intCurVal As Int16 = 0
            Dim intChksum As Int16 = 0
            Dim chrCur As String
            Dim intPos As Int16
            'Check for invalid characters and calculate check sum
            For intPos = 1 To Len(strCode)
                chrCur = Mid(strCode, intPos, 1)
                Select Case chrCur
                    Case "0" To "9"
                        intCurVal = Val(chrCur)
                    Case "A" To "Z"
                        intCurVal = Asc(chrCur) - 55
                    Case "-"
                        intCurVal = 36
                    Case "."
                        intCurVal = 37
                    Case " "
                        intCurVal = 38
                    Case "$"
                        intCurVal = 39
                    Case "/"
                        intCurVal = 40
                    Case "+"
                        intCurVal = 41
                    Case "%"
                        intCurVal = 42
                    Case Else
                End Select
                intChksum = intChksum + intCurVal
            Next
            intChksum = intChksum Mod 43
            Select Case intChksum
                Case 0 To 9
                    Return intChksum.ToString()
                Case 10 To 35
                    Return Chr(intChksum + 55)
                Case 36
                    Return "-"
                Case 37
                    Return "."
                Case 38
                    Return " "
                Case 39
                    Return "$"
                Case 40
                    Return "/"
                Case 41
                    Return "+"
                Case 42
                    Return "%"
                Case Else
            End Select
            Return "0"
        End Function
     
  • 相关阅读:
    【BZOJ-3712】Fiolki LCA + 倍增 (idea题)
    【BZOJ-1941】Hide and Seek KD-Tree
    【BZOJ-2400】Spoj839Optimal Marks 最小割 + DFS
    【BZOJ-3709】Bohater 贪心
    【BZOJ-2342】双倍回文 Manacher + 并查集
    【BZOJ-3790】神奇项链 Manacher + 树状数组(奇葩) + DP
    【BZOJ-4568】幸运数字 树链剖分 + 线性基合并
    【BZOJ-4520】K远点对 KD-Tree + 堆
    【BZOJ-4127】Abs 树链剖分 + 线段树 (有趣的姿势)
    【BZOJ-2648&2716】SJY摆棋子&天使玩偶 KD Tree
  • 原文地址:https://www.cnblogs.com/kevinGao/p/2192735.html
Copyright © 2011-2022 走看看