Dividing a number into individual digits

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/.

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

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

···

2010/9/21 Timothy Baron <timothy.baron@gmail.com>

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"?

---
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’t realize that
there is an alternative… which is just as good.." -- Kevin Scannell*

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

Cheers

robert

···

On Tue, Sep 21, 2010 at 1:33 PM, Timothy Baron <timothy.baron@gmail.com> 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"?

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

Robert Klemme wrote:

···

On Tue, Sep 21, 2010 at 1:33 PM, Timothy Baron <timothy.baron@gmail.com> > 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
relevant came up. Thanks for letting me know about this other thread,
though. Just found it, and it answers the question nicely.
--
Posted via http://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 )

···

On Sep 21, 8:31 am, Timothy Baron <timothy.ba...@gmail.com> wrote:

Robert Klemme wrote:
> On Tue, Sep 21, 2010 at 1:33 PM, Timothy Baron <timothy.ba...@gmail.com> > > 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
relevant came up. Thanks for letting me know about this other thread,
though. Just found it, and it answers the question nicely.
--
Posted viahttp://www.ruby-forum.com/.