implementing luhn algorithm using c#

后端 未结 9 466
醉梦人生
醉梦人生 2020-12-03 02:19

I am using following code to implement Luhn algorithm for credit card check in c# language but could not get the output to generate the check sum its showing validity: kindl

9条回答
  •  南方客
    南方客 (楼主)
    2020-12-03 02:55

    These are my methods for validating and calculating the last digit. To validate a number simply check that the result of the first method is 0;

    private int LuhnChecksum(string input)
        {
            var length = input.Length; 
            var even = length % 2; 
            var sum = 0;
    
            for (var i = length - 1; i >= 0; i--)  
            {
                var d = int.Parse(input[i].ToString());
                if (i % 2 == even)
                    d *= 2;
                if (d > 9)
                    d -= 9;
                sum += d;
            }
            return sum % 10;
        }
    
        private int LuhnCalculateLastDigit(string input) 
        {
            var checksum = LuhnChecksum(input + "0");
            return checksum == 0 ? 0 : 10 - checksum;
        }
    

提交回复
热议问题