我正在研究使用Luhn Algorithm 验证信用卡号码的codewars kata。已经有了我的答案,它使用字符串转换来分割数字,然后重新转换为整数,然后使用算法的其余部分。一切都很好,直到我测试一个八进制数。如何避免在字符串转换期间改变输出的八进制,二进制等数字
代码首先为:
def validate(n)
n.to_s.split("") #n = 7867 gives me ["7","8","6","7"], which is fine
n.to_s.split("") #n = 0776 gives me ["5","1","0], when I need ["0","7","7","6"]
n.to_s.split("") #n = 0100 gives me ["6", "4"] when I need ["0","1","0","0"]
#other code here
end
其中,该方法应该在任何n
被称为插入
如何防止一个八进制,二进制或十六进制等数转换等。那?有没有办法保持数字,因此我可以使用它们?
你从哪里得到'n'的价值? –
'n'只是插入该方法的任何数字。 'def validate(n)' –
我的意思是你如何得到八进制数?你在程序中输入数字文字吗? –