Caution

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

C#辞典

  1. トップページ
  2. C#辞典
  3. Math.Abs() / Math.Round() / Math.Ceiling() / Math.Floor()

Math.Abs() / Math.Round() / Math.Ceiling() / Math.Floor()

数値の絶対値を返す『Math.Abs()』、四捨五入する『Math.Round()』、切り上げる『Math.Ceiling()』、切り捨てる『Math.Floor()』の使い方です。

構文
using System;

// 絶対値を返します(負の数を正にします)。
Math.Abs(double value)

// 最も近い整数に丸めます(銀行丸めがデフォルト)。
Math.Round(double value)
Math.Round(double value, int digits)
Math.Round(double value, MidpointRounding mode)

// 切り上げ(指定値以上の最小整数)を返します。
Math.Ceiling(double value)

// 切り捨て(指定値以下の最大整数)を返します。
Math.Floor(double value)

// ゼロ方向への切り捨て(小数部を取り除く)を返します。
Math.Truncate(double value)
メソッド一覧
メソッド概要
Math.Abs(value)value の絶対値を返します。int, long, double, decimal など各数値型のオーバーロードがあります。
Math.Round(value)value を最も近い整数に丸めます。デフォルトは「銀行丸め(偶数丸め)」です。
Math.Round(value, digits)value を小数点以下 digits 桁で丸めます。
Math.Round(value, MidpointRounding.AwayFromZero)一般的な四捨五入(0.5 は必ず切り上げ)を行います。
Math.Ceiling(value)value 以上の最小の整数を返します(常に切り上げ)。
Math.Floor(value)value 以下の最大の整数を返します(常に切り捨て)。
Math.Truncate(value)value の小数部を除いた整数部分を返します。負の数でも Floor とは異なります。
サンプルコード
using System;

// Math.Abs() — 絶対値を取得します。
Console.WriteLine(Math.Abs(-42));    // 42
Console.WriteLine(Math.Abs(3.14));   // 3.14
Console.WriteLine(Math.Abs(-7.5));   // 7.5

// Math.Round() — 丸め処理を行います。
// デフォルトは銀行丸め(偶数丸め)です。0.5 の場合は偶数側に丸めます。
Console.WriteLine(Math.Round(2.5));  // 2(偶数丸め)
Console.WriteLine(Math.Round(3.5));  // 4(偶数丸め)

// MidpointRounding.AwayFromZero で一般的な四捨五入になります。
Console.WriteLine(Math.Round(2.5, MidpointRounding.AwayFromZero)); // 3
Console.WriteLine(Math.Round(3.14159, 2)); // 3.14(小数点2桁)

// Math.Ceiling() — 切り上げ(常に大きい方向へ)します。
Console.WriteLine(Math.Ceiling(4.1));  // 5
Console.WriteLine(Math.Ceiling(4.9));  // 5
Console.WriteLine(Math.Ceiling(-4.1)); // -4(ゼロ方向へ切り上げ)

// Math.Floor() — 切り捨て(常に小さい方向へ)します。
Console.WriteLine(Math.Floor(4.9));    // 4
Console.WriteLine(Math.Floor(-4.1));   // -5(ゼロから遠い方向へ切り捨て)

// Math.Truncate() — 小数部を除いた整数部分を返します。
Console.WriteLine(Math.Truncate(4.9));  // 4
Console.WriteLine(Math.Truncate(-4.9)); // -4(Floor と違いゼロ方向へ)
概要

『Math.Round()』のデフォルトは「銀行丸め(偶数丸め)」です。2.5 を四捨五入すると 3 ではなく 2 になるので注意が必要です。一般的な「0.5 は切り上げ」の四捨五入を行うには MidpointRounding.AwayFromZero を指定してください。

『Math.Ceiling()』と『Math.Floor()』は負の数で直感に反する結果になる場合があります。Ceiling(-4.1)-4Floor(-4.1)-5 を返します。ゼロ方向への切り捨てには『Math.Truncate()』を使用してください。その他の数値計算メソッドについてはMath.Max() / Min() / Pow() / Sqrt()をご確認ください。

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