ruby - 基本的な文法 - Integer Float 数値

 
1. 概要
2. それぞれへの変換
3. 3桁ごとのカンマを表示

1. 概要

 ruby には、いわゆる型というものは存在しないということで。  数値としての整数型・浮動小数点型に相当するものとして、Integer と Float のクラスがあるとのこと。  また、Integer・Float は Numeric という数値を表す抽象クラスの派生クラスになるようです。  それぞれの詳細は
Ruby 2.4.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Integer クラス 」
「Ruby 2.4.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Float クラス 
 でどうぞ。

2. それぞれへの変換

 正数と浮動小数点数とを相互に変換するには、それぞれ to_f、to_i というメソッドを使用します。
#!/usr/bin/env ruby

f = 1.0
i = 2

puts('f = '+"#{f}")
puts('i = '+"#{i}")

puts("#{(f/i).to_f}")
puts("#{(f/i).to_i}")



 これを実行すると以下のような結果となります。

> ./ソースファイル名.rb
f = 1.0
i = 2
0.5
0

3. 3桁ごとのカンマを表示

 「Ruby on Rails」には「active_support/core_ext/numeric/conversions」というそのまま使えるモジュールがあるらしいのですが、今のところ Ruby on Rails をインストールする予定がない。  sprintf にもその機能がないと「Ruby 2.5.0 リファレンスマニュアル > sprintf フォーマット」にはっきりうたっています。  「数字の3桁区切り カンマ【 , 】の着脱」にうってつけのものがありました。
#!/usr/bin/env ruby

puts(123456789.to_s.reverse.gsub( /(\d{3})(?=\d)/, '\1,').reverse)


 これを実行すると以下のような結果となります。

> ./ソースファイル名.rb
123,456,789