LoginSignup
1
1

More than 3 years have passed since last update.

3桁の整数からそれぞれの桁の数字を取り出す

Last updated at Posted at 2020-10-17

表題の通り、
3桁の整数から百の位・十の位・一の位の数字を取り出す方法のアウトプットです。

百の位

整数を100で割ったものを、更に10で割った計算結果の余りが百の位。

num = 345
result_100 = (num / 100) % 10
puts result_100
# => 3

普通に(num / 100)をすると3.45になるけれども、
Rubyの場合は、整数 / 整数 = 整数(小数点以下切り捨て)になるので
(num / 100)は3になる。

十の位

整数を10で割ったものを、更に10で割った計算結果の余りが十の位。

num = 345
result_10 = (num / 10) % 10
puts result_10
# => 4

(num / 10)が34で、34を10で割ると余りが4。

一の位

整数を10で割った計算結果の余りが一の位。

num = 345
result_1 = num % 10
puts result_1
# => 5

おまけ

もし4桁の数字で千の位の数字を取り出したいときは
(num / 1000) % 10となる。百の位、十の位、一の位は上記と同じ求め方。

digitsメソッド (2020/10/20追記)

コメントにて、とても便利なメソッドを教えて頂いたので追記します。
digitsメソッドです。これを使うと下記のようになります。

num = 345
puts num.digits
# => [5, 4, 3]

このように配列で返してくれます。便利。
ちなみに、元になる数字(上記でいうと345)は非負整数、つまり0か正の整数でないとエラーになってしまうとのこと。

digitsメソッドを調べるにあたり、こちらも参考にさせて頂きました。
https://docs.ruby-lang.org/ja/latest/method/Integer/i/digits.html

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1