1. ホーム
  2. ruby

Ruby で float を最も近い整数に丸める

2023-09-04 08:42:58

質問

私が49.967のフロートを持っていて、.to_iを実行すると、それは49に切り詰められます。これは、私のディスクスペース分析の使用では、.967は表示で説明されない900MB以上のスペースになります。

最も近い整数に数値を丸める関数はありますか、それともこのように自分で定義しなければならないのでしょうか。

class Float
  def to_nearest_i
    (self+0.5).to_i
  end
end

というようにすれば

>> 5.44.to_nearest_i
=> 5
>> 5.54.to_nearest_i
=> 6

どのように解決するのですか?

試しに Float.round .

irb(main):001:0> 5.44.round
=> 5
irb(main):002:0> 5.54.round
=> 6