Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用红宝石 1.9.3
为什么 Integer("09") 在 ruby 中抛出“Integer 异常的无效值”,而 Integer("07") 工作得很好?
提前致谢。
因为前导零是八进制(“base 8”)表示法的常见约定。八进制中没有9数字,因此使用一个是语法错误。
9
如果您写了Integer("014"),您将得到数字 12。(因此,如果您不打算使用八进制表示法,请不要使用前导零。)
Integer("014")
如果你以 0 开头,它认为它是八进制的。9 不是有效的八进制数字!