2016-09-05 2 views
0

Я получаю переменную из файла cookie.Как преобразовать строку в int

Эти переменные поступают как String.

Мне нужно преобразовать его в Int.

Когда я делаю это:

@price = cookies[:price].to_i 

Я получаю fixnum. Мне действительно нужно преобразовать его в int

Возможно ли это?

+0

Fixnum является целым числом – davidhu2000

+0

Я знаю, но мне нужен тип Integer –

ответ

0

Fixnum - класс для чисел определенного размера в Ruby (то есть это Int).

Удерживает Целочисленные значения, которые могут быть представлены в нативном машинных словах (минус 1 бит). Если любая операция над Fixnum превышает этот диапазон, значение автоматически преобразуется в Bignum.

Когда целое число слишком велико, оно становится Bignum.

"1.1".to_i.class 
=> Fixnum 

"1.1".to_f.class 
=> Float 

"1.1".to_d.class 
=> BigDecimal 

"1111111111111111111".to_i.class 
=> Fixnum 

"11111111111111111111".to_i.class 
=> Bignum 

https://ruby-doc.org/core-2.2.0/Fixnum.html

Смежные вопросы