Я получил следующий вывод в консоли ruby.Почему `Integer ('009')` не работает, но `Float ('009')` делает?
Integer('009') # => ArgumentError: invalid value for Integer(): "009"
Но если я пытаюсь Преобразовать ту же строку в Float
, она работает.
Float('009') # => 9.0
Почему Float
преобразовать это в то время как Integer
не делает?
Возможный дубликат [Как работать с ведущими нулями в целых числах] (http://stackoverflow.com/questions/28545559/how-to-work-with-leading-zeros-in-integers) –
Этот ответ относится к синтаксическому анализу целых чисел в различных базах (в данном случае, восьмеричном). Поплавки всегда представлены в базе 10 и, таким образом, не проявляют такого поведения. –