作为添指出以上,你的表显示了基体7,不6.两者String#to_i和Fixnum#to_s一个可选的基数(基)的参数:
p "020".to_i(7)
# => 14
p 14.to_s(7)
# => "20"
Run Code Online (Sandbox Code Playgroud)
为了处理不是0-6的尾随字符,String#slice(aka String#[])效果很好:
expr = /^[0-6]*/
p "72"[expr].to_i(7)
# => 0
p "0202xyz"[expr].to_i(7)
# => 100
p "27"[expr].to_i(7)
# => 2
Run Code Online (Sandbox Code Playgroud)