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}")
これを実行すると以下のような結果となります。
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)
これを実行すると以下のような結果となります。
123,456,789
|
|