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

On Tue, Sep 21, 2010 at 1:33 PM, Timothy B. [email protected]
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

2010/9/21 Timothy B. [email protected]

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(//) => [“1”, “4”, “6”, “4”, “0”, “0”, “2”]

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


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

Robert K. wrote:

On Tue, Sep 21, 2010 at 1:33 PM, Timothy B. [email protected]
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.

On Sep 21, 8:31 am, Timothy B. [email protected] wrote:

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

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 )