[Home] [By Thread] [By Date] [Recent Entries]
Andrew Welch wrote:
On 5/25/07, David Carlisle <davidc@xxxxxxxxx> wrote: It is needed for calculating the check digit, in the special case that the steps 1..3 produce 10 (which is, if the $totalsums mod 10 equal 0). 10 is not allowed as digit. Doing modulo 10, will give 0. Example: Suppose your 11-digit number is 12345678950 When you apply the algorithm sums it gives you 100 Step 3 is now: 10 - 100 mod 10 = 10 - 0 = 10 Step 4 (now necessary) gives: 10 mod 10 = 0 ergo: check digit is 0. The UPC-A string becomes 123456789500 This special case works correctly with the tests posted here afaik. As it comes, the 12345678950 is a valid Luhn number. All others (not having a check digit of 0) are invalid Luhn numbers. Cheers, -- Abel Braaksma
|

Cart



