Dividing a number into individual digits

T

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

Edmond Kachale

2010/9/21 Timothy Baron said:
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*
 
R

Robert Klemme

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

Timothy Baron

Robert said:
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.
 
R

(r.*n){2}

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.

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 )
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,009
Latest member
GidgetGamb

Latest Threads

Top