Caution

お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。

Ruby辞典

  1. トップページ
  2. Ruby辞典
  3. 数値.abs / round / ceil / floor / truncate

数値.abs / round / ceil / floor / truncate

数値の絶対値取得や小数の丸め処理を行うメソッドです。整数・浮動小数点数の両方に使用できます。

構文
# 絶対値を返します。
数値.abs

# 四捨五入します(nは小数点以下の桁数)。
数値.round
数値.round(n)

# 切り上げます。
数値.ceil
数値.ceil(n)

# 切り捨てます。
数値.floor
数値.floor(n)

# ゼロ方向に切り捨てます(truncate)。
数値.truncate
数値.truncate(n)
メソッド一覧
メソッド概要
abs数値の絶対値を返します。正の数はそのまま、負の数は符号を取り除いて返します。
round四捨五入した整数を返します。引数nを指定するとn桁の精度で丸めます。
ceil切り上げた整数を返します。引数nを指定するとn桁の精度で切り上げます。
floor切り捨てた整数を返します。引数nを指定するとn桁の精度で切り捨てます。
truncateゼロ方向への切り捨てを行います。負の数では『floor』と異なる結果になります。
サンプルコード
# abs: 絶対値を取得します。
puts (-5).abs    # 5
puts 3.14.abs    # 3.14
puts (-2.7).abs  # 2.7

# round: 四捨五入します。
puts 3.14159.round     # 3
puts 3.14159.round(2)  # 3.14
puts 3.14159.round(4)  # 3.1416
puts 2.5.round         # 3(切り上げ)

# ceil: 切り上げます。
puts 3.1.ceil   # 4
puts (-3.1).ceil  # -3(ゼロ方向に切り上げ)
puts 3.14.ceil(1)  # 3.2

# floor: 切り捨てます。
puts 3.9.floor    # 3
puts (-3.9).floor  # -4(ゼロから遠い方向)
puts 3.96.floor(1)  # 3.9

# truncate: ゼロ方向の切り捨て。
puts 3.9.truncate    # 3
puts (-3.9).truncate  # -3(floor と異なる!)

# 実用例: 消費税計算(小数第1位を切り捨て)。
金額 = 1234
税込み = (金額 * 1.1).floor
puts "#{金額}円 → 税込み#{税込み}円"  # 1234円 → 税込み1357円
概要

『round』『ceil』『floor』はいずれも引数なしで呼び出すと整数を返し、引数nを指定すると浮動小数点数を返します。引数に負の数を指定すると整数部分を丸めることもできます(例: 『1234.round(-2)』は『1200』)。

負の数での動作に注意してください。『floor(-3.9)』は『-4』(数直線上で左方向)、『ceil(-3.9)』は『-3』(右方向)、『truncate(-3.9)』は『-3』(ゼロ方向)と、それぞれ異なる値を返します。

浮動小数点数は内部表現の誤差があるため、『0.1 + 0.2』が正確に『0.3』にならない場合があります。金融計算など精度が重要な場合は『BigDecimal』クラスを使用してください。

数値の型変換については『数値.to_i / to_f / to_s』を、数学関数については『Math.sqrt / log / sin / cos』を参照してください。

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。