2007年5月5日土曜日

Ruby で四捨五入

エクセルのRoundUP関数など、数値データの四捨五入を行う方法です。

Rubyにはエクセルのように何桁を切り捨てたり、切り上げたりする機能がないので予め切り捨てたい桁数分を少数以下にしておきます。

例えば12,229を12,000などにしたい場合はいったん12229を1000で割っておきます。

さらに小数点以下を丸めて最後に1000をかけてもとに戻せばroundupを表現できます。

例)
#!/usr/local/bin/ruby

i = 28989

i = i.to_f / 1000

p i
p i.round * 1000
p i.truncate * 1000
p i.ceil * 1000
p i.floor * 1000


# 実行結果
28.989
29000
28000
29000
28000

## 関数
round:四捨五入
truncate:切捨て
ceil:切り上げ
floor:切捨て

SevenAgent,Inc

0 件のコメント: