# To\_i

**URL:** <https://www.ruby-forum.com/t/to-i/130770>\
**Category:** Rails\
**Created:** [March 3, 2008, 8:03am UTC](https://www.ruby-forum.com/t/to-i/130770 "2008-03-03T08:03:56Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![sijo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/da6949/32.png) [@sijo](https://www.ruby-forum.com/u/sijo)\
**Post date:** [March 3, 2008, 8:03am UTC](https://www.ruby-forum.com/t/to-i/130770/1 "2008-03-03T08:03:56Z")

</div>

Hi  
I have string say str1  
when i use

res=str1.to\_i  
puts res.class

The result i get is Fixnum.  
Actually does to\_i convert str1 to Integer or Fixnum?So why i did not  
get result as Integer?

Sijo

---

<div class="post-metadata">

**Author:** ![sijo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/da6949/32.png) [@sijo](https://www.ruby-forum.com/u/sijo)\
**Post date:** [March 3, 2008, 8:29am UTC](https://www.ruby-forum.com/t/to-i/130770/2 "2008-03-03T08:29:43Z")

</div>

Sijo Kg wrote:

> Hi  
> I have string say str1  
> when i use
> 
> res=str1.to\_i  
> puts res.class
> 
> The result i get is Fixnum.  
> Actually does to\_i convert str1 to Integer or Fixnum?So why i did not  
> get result as Integer?
> 
> Sijo

Hi Sijo,

```
Fixnum is nothing but integer. what you call integer in sql fixnum 

```

in ruby.

Thanks  
Saravanan

---

<div class="post-metadata">

**Author:** ![sijo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/da6949/32.png) [@sijo](https://www.ruby-forum.com/u/sijo)\
**Post date:** [March 3, 2008, 8:37am UTC](https://www.ruby-forum.com/t/to-i/130770/3 "2008-03-03T08:37:37Z")

</div>

Hi  
Thanks for your reply

Sijo

---

<div class="post-metadata">

**Author:** ![sijo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/da6949/32.png) [@sijo](https://www.ruby-forum.com/u/sijo)\
**Post date:** [March 3, 2008, 9:49am UTC](https://www.ruby-forum.com/t/to-i/130770/4 "2008-03-03T09:49:32Z")

</div>

Integer is the superclass, Fixnum is more appropriate.

---

<div class="post-metadata">

**Author:** ![sijo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/da6949/32.png) [@sijo](https://www.ruby-forum.com/u/sijo)\
**Post date:** [March 3, 2008, 9:58am UTC](https://www.ruby-forum.com/t/to-i/130770/5 "2008-03-03T09:58:04Z")

</div>

Ryan B. wrote:

> Integer is the superclass, Fixnum is more appropriate.

Great…  
Thanks Ryan

---

<div class="post-metadata">

**Author:** ![sijo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/da6949/32.png) [@sijo](https://www.ruby-forum.com/u/sijo)\
**Post date:** [March 3, 2008, 9:46am UTC](https://www.ruby-forum.com/t/to-i/130770/6 "2008-03-03T09:46:57Z")

</div>

Saravanan K. wrote:

> ```
> Fixnum is nothing but integer. what you call integer in sql fixnum 
> 
> ```
> 
> in ruby.

123.class  
=\> Fixnum  
12345678901234567890.class  
=\> Bignum  
Fixnum.superclass  
=\> Integer  
Bignum.superclass  
=\> Integer

Integer is a class in Ruby with 2 subclasses (Fixnum and Bignum).  
Fixnum is the class of integers with a small magnitude. These are  
represented internally using a type your operating system can  
manipulate. Bignum is the class of all integers with a magnitude too  
big to fit into that type. Bignum can be used for arbitrary sized  
integers.

Ruby uses whichever class it needs to behind the scenes to perform  
arithmetic. You don’t need to worry about it because:

123.kind\_of? Integer  
=\> true  
12345678901234567890.kind\_of? Integer  
=\> true
