# Dividing a number into individual digits

Discussion in 'Ruby' started by Timothy Baron, Sep 21, 2010.

1. ### Timothy BaronGuest

Here's a simple question: What's an effecient way to get the digits of
a number. For instance, if I have the number 37, how can I get "3" and
"7"?
--
Posted via http://www.ruby-forum.com/.

Timothy Baron, Sep 21, 2010

2. ### Edmond KachaleGuest

2010/9/21 Timothy Baron <>

> Here's a simple question: What's an effecient way to get the digits of
> a number. For instance, if I have the number 37, how can I get "3" and
> "7"?
>

I'm not sure about the efficiency but this can do:
number.to_s.split(//)
Ex: 1464002.to_s.split(//) =3D> ["1", "4", "6", "4", "0", "0", "2"]

Otherwise, you may need to derive a method of your own.

---
Edmond
Software Developer | Baobab Health Trust (http://www.baobabhealth.org/) |
Malawi

Cell: +265 999 465 137 | +265 881 234 717

*"Many people doubt open source software and probably don=92t realize that
there is an alternative=85 which is just as good.." -- Kevin Scannell*

Edmond Kachale, Sep 21, 2010

3. ### Robert KlemmeGuest

On Tue, Sep 21, 2010 at 1:33 PM, Timothy Baron <> wr=
ote:
> Here's a simple question: =A0What's an effecient way to get the digits of
> a number. =A0For instance, if I have the number 37, how can I get "3" and
> "7"?

Five days ago the exact same question was raised here - and answered.
What prevented you finding that thread?

Cheers

robert

--=20
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/

Robert Klemme, Sep 21, 2010
4. ### Timothy BaronGuest

Robert Klemme wrote:
> On Tue, Sep 21, 2010 at 1:33 PM, Timothy Baron <>
> wrote:
>> Here's a simple question: ï¿½What's an effecient way to get the digits of
>> a number. ï¿½For instance, if I have the number 37, how can I get "3" and
>> "7"?

>
> Five days ago the exact same question was raised here - and answered.
> What prevented you finding that thread?
>
> Cheers
>
> robert

An inability to use the right search phrase? I had looked, but nothing
though. Just found it, and it answers the question nicely.
--
Posted via http://www.ruby-forum.com/.

Timothy Baron, Sep 21, 2010
5. ### (r.*n){2}Guest

On Sep 21, 8:31 am, Timothy Baron <> wrote:
> Robert Klemme wrote:
> > On Tue, Sep 21, 2010 at 1:33 PM, Timothy Baron <>
> > wrote:
> >> Here's a simple question: What's an effecient way to get the digits of
> >> a number. For instance, if I have the number 37, how can I get "3" and
> >> "7"?

>
> > Five days ago the exact same question was raised here - and answered.
> > What prevented you finding that thread?

>
> > Cheers

>
> > robert

>
> An inability to use the right search phrase?  I had looked, but nothing
> though.  Just found it, and it answers the question nicely.
> --
> Posted viahttp://www.ruby-forum.com/.

One alternative to split could be unpack

s = "12345" * 2000

s.unpack('C*').each {|d| printf("%c\n", d)}

note that s contains ascii values for each digit obtained ( '0' =>
48, ..., '9' => 57 )

(r.*n){2}, Sep 23, 2010