2010-06-26 2 views
-1

나는 내 체크 디지트 코드가 무엇이 잘못되었는지 알아낼 수 없다! 상시Luhn 체크 디지트

, 그것은 2 길이 체크 디지트 값 생성

모든 생성 된 번호가 유효한 것이 http://www.ee.unb.ca/cgi-bin/tervo/luhn.pl?N=127753224800013

CODE에서 확인할 수있다

1277531815000110 <-- check digit is double value?????? 
1277532495000110 <-- check digit is double value??????? 
1277534649000110 <-- check digit is double value??????? 
127753185300011 <-- good! 
127753208500019 <-- good! 

: http://dl.dropbox.com/u/678582/Email/GenerateAN.txt

+2

코드 링크는 404로 연결됩니다. 코드를 게시하기에는 너무 길습니까? –

+2

코드가 없으면이 질문을 삭제해야합니다. – Noah

+0

작업 코드는 어디에 있습니까! –

답변

2

이 문제가 있습니다.

CheckSumNumber = (((sum/10) + 1) * 10) - sum; 

sum이 이미 10의 배수 인 경우 10이됩니다. 기본적으로 반올림하려는 것입니다. 다음과 같이 쉽게 할 수 있습니다.

CheckSumNumber = (((sum + 9)/10) * 10) - sum; 
+0

그냥 저를 때려주세요! – Oded

관련 문제