我无法弄明白为什么,当我在Rails'控制台中输入67
时,输出为67
,但067
会返回55
。
有人可以向我解释一下吗?
答案 0 :(得分:1)
以0开头的数字表示该数字为octal符号。
当你输入067时,你真的用八进制表示法" 67"或" 67 8 (67 base 8)"。当Ruby输出该数字时,它将其转换为十进制(基数为10)。
自67 8 == 55 10 以来,Ruby输出55.
查看" How do I convert an octal number to decimal in Ruby?"提到领先的0。
参见" Octal to decimal converter"对于八进制计算器: