C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のMath.Ceiling()メソッドとは?切り上げ処理の使い方とサンプルコード

C#のMath.Ceiling()メソッドは、指定した数値以上となる最小の整数値を返すメソッドです。いわゆる「切り上げ」処理を行いたい場合に使用され、decimal型とdouble型の両方に対応しています。

構文

Math.Ceiling()メソッドの構文は以下の通りです。

public static decimal Ceiling(decimal val);
public static double Ceiling(double val);

1つ目の構文では引数 val にdecimal型の数値を指定し、戻り値もdecimal型となります。2つ目の構文では引数 val にdouble型の数値を指定し、戻り値はdouble型になります。

使用例1:decimal型の場合

まずはdecimal型の値に対してMath.Ceiling()メソッドを使用する例を見てみましょう。

using System;
public class Demo {
    public static void Main(){
        decimal val1 = 9.99M;
        decimal val2 = -5.10M;
        Console.WriteLine("Result = " + Math.Ceiling(val1));
        Console.WriteLine("Result = " + Math.Ceiling(val2));
    }
}

出力結果

上記のコードを実行すると、以下のような出力が得られます。

Result = 10
Result = -5

9.99は切り上げられて10になり、負の値である-5.10は「指定した数値以上の最小の整数」である-5が返される点に注目してください。つまり、負の数の場合でも「ゼロ方向への切り上げ」とは異なり、あくまでその数値以上で最も近い整数が返されます。

使用例2:double型の場合

続いて、double型の値に対してMath.Ceiling()メソッドを使用する例です。

using System;
public class Demo {
    public static void Main(){
        double val1 = 3.1;
        double val2 = 55.99;
        double val3 = -55.99;
        Console.WriteLine("Result = " + Math.Ceiling(val1));
        Console.WriteLine("Result = " + Math.Ceiling(val2));
        Console.WriteLine("Result = " + Math.Ceiling(val3));
    }
}

出力結果

このコードを実行すると、次の出力が得られます。

Result = 4
Result = 56
Result = -55

3.1は4に、55.99は56に切り上げられました。一方、-55.99に対しては-55が返されています。これは、-55.99以上の整数の中で最小のものが-55だからです。

まとめ

Math.Ceiling()メソッドは、正の数・負の数に関わらず「指定した数値以上の最小の整数値」を返します。小数点以下の切り上げ処理を行う際には、Math.Floor()(切り捨て)やMath.Round()(四捨五入)との違いを理解しておくと、意図した計算結果を得やすくなります。

  1. C#のMath.Exp()メソッドの使い方を徹底解説!eの累乗計算と特殊値の挙動

    C#のMath.Exp()メソッドは、自然対数の底「e」(ネイピア数、約2.71828)を指定した値で累乗した結果を返すメソッドです。数学的な指数関数の計算が必要な場面で活用されます。構文public static double Exp (double val);引数 val には、eの累乗の指数となる倍精度浮動小数点数(double型)を指定します。戻り値もdouble型です。特殊な値が渡された場合の挙動NaN(非数)またはPositiveInfinity(正の無限大)を渡した場合 → その値がそのまま返されます。NegativeInfinity(負の無限大)を渡した場合 → 0 が返されま

  2. C#のMath.DivRem()メソッドの使い方を徹底解説!商と余りを同時に取得する方法

    C#のMath.DivRem()メソッドは、2つの数値の除算を行って商(quotient)を返すとともに、余り(remainder)をoutパラメータとして受け取ることができる便利なメソッドです。通常、商と余りの両方を求めるには「/」演算子と「%」演算子を別々に使う必要がありますが、このメソッドを使えば一度の呼び出しで両方の結果を取得できます。構文public static int DivRem(int dividend, int divisor, out int remainder); public static long DivRem(long dividend, long divisor