Vb Script Required For Mod10 Check Digit Calculation
Hi,
Can someone please help to make a VB script to do the following MOD10 (simplified) check digit calculation with 137137... weighting on a 6 digit number.
Thanks
Paul
The formula is as follows:
Data example 1: 112233
weighting: 137137
Each number is then multiplied by the weighing value and then all added up
(1x1) + (1x3) + (2x7) + (2x1) + (3x3) + (3x7) = 50
The total is then divided by the Mod number 10
50/10 = 5.0
The remainder is 0 (in this case) which is the check digit, so the answer is:
1122330
Data example 2: 123456
weighting: 137137
Each number is then multiplied by the weighing value and then all added up
(1x1) + (2x3) + (3x7) + (4x1) + (5x3) + (6x7) = 89
The total is then divided by the Mod number 10
89/10 = 8.9
The remainder is 9 (in this case) which is the check digit, so the answer is:
1234569
Other Examples
This is an Excel formula if that helps:
=RIGHT((VALUE(RIGHT(MID(A2,2,1)*'Modulus numbers'!A$1,1))+VALUE(RIGHT(MID(A2,3,1)*'Modulus numbers'!B$1,1))+VALUE(RIGHT(MID(A2,4,1)*'Modulus numbers'!C$1,1))+VALUE(RIGHT(MID(A2,5,1)*'Modulus numbers'!D$1,1))+VALUE(RIGHT(MID(A2,6,1)*'Modulus numbers'!E$1,1))+VALUE(RIGHT(MID(A2,7,1)*'Modulus numbers'!F$1,1))),1)
-
I had a go at it myself and it looks like it works but there is more than likely a cleaner way to do it.
C1 = Mid((Data), 1, 1)* Mid((Weight), 1, 1)
C2 = Mid((Data), 2, 1)* Mid((Weight), 2, 1)
C3 = Mid((Data), 3, 1)* Mid((Weight), 3, 1)
C4 = Mid((Data), 4, 1)* Mid((Weight), 4, 1)
C5 = Mid((Data), 5, 1)* Mid((Weight), 5, 1)
C6 = Mid((Data), 6, 1)* Mid((Weight), 6, 1)
Total = C1 + C2 + C3 + C4 + C5 + C6
Value = Right(Total, 1)
0
请先登录再写评论。
评论
1 条评论