我正在研究使用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)' –
我的意思是你如何得到八進制數?你在程序中輸入數字文字嗎? –