卢恩校验位
我似乎无法弄清楚我的校验码有什么问题!
有时,它会生成 2 个长度校验数字值
示例
1277531815000110 <-- check digit is double value??????
1277532495000110 <-- check digit is double value???????
1277534649000110 <-- check digit is double value???????
127753185300011 <-- good!
127753208500019 <-- good!
所有生成的数字都是有效的,可以在 http://www.ee.unb.ca/cgi-bin/tervo/luhn.pl?N=127753224800013
I cant seem to figure out what is wrong with my check digit code!
At times, it produces 2 length check digit values
Example
1277531815000110 <-- check digit is double value??????
1277532495000110 <-- check digit is double value???????
1277534649000110 <-- check digit is double value???????
127753185300011 <-- good!
127753208500019 <-- good!
All generated numbers are valid, it can be checked at http://www.ee.unb.ca/cgi-bin/tervo/luhn.pl?N=127753224800013
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这行代码就是问题所在:
当
sum
已经是 10 的倍数时,它将生成 10。基本上,您只是想向上舍入。这是一个简单的方法:This line's the problem:
That will generate 10 when
sum
is already a multiple of 10. Basically you're just trying to round up. Here's an easy way of doing it: