C# 切り上げのサンプル(Ceiling)

C#のCeilingメソッドで、切り上げを行うサンプルです。

目次

説明 切り上げる(Ceilingメソッド)
サンプル 小数第一位で切り上げる
  小数第二位または小数第三位で切り上げる
  1の位または10の位で切り上げる

切り上げる(Ceilingメソッド)

public static double Ceiling (double a);
  • Ceilingメソッドは、小数第一位で切り上げます。
  • 少数第一位以外を対象とする場合は、値を10倍にしたり1/10にする等の操作で求めることができます。
  • staticメソッドなのでインスタンスの生成は不要です。
  • 引数はdouble型で戻り値もdouble型です。
  • Ceilingは天井という意味です。

小数第一位で切り上げる

using System;
class Test1
{
    static void Main()
    {
        // 小数第一位で切り上げ
        double a = 2.26;
        Console.WriteLine(Math.Ceiling(a)); // 3

        // 小数第一位で切り上げ
        double b = 2.82;
        Console.WriteLine(Math.Ceiling(b)); // 3

        // マイナス値の場合
        double c = -2.82;
        Console.WriteLine(Math.Ceiling(c)); // -2
    }
}

Ceilingメソッドで小数第一位を切り上げています。
16行目は、マイナスの値の場合です。

小数第二位または小数第三位で切り上げる

using System;
class Test1
{
    static void Main()
    {
        double a = 12.262;

        // 小数第二位で切り上げ
        Console.WriteLine((Math.Ceiling(a * 10)) / 10); // 12.3

        // 小数第三位で切り上げ
        Console.WriteLine((Math.Ceiling(a * 100)) / 100); // 12.27
    }
}

9行目は、小数第二位で切り上げています。以下の操作です。
1.対象の値に10を掛けます。(12.262 * 10 = 122.62)
2.Ceilingメソッドを使用して小数点以下を切り上げます。(122.62 → 123)
3.対象の値を再度10で割ります。(123 / 10 = 12.3)

1の位または10の位で切り上げる

using System;
class Test1
{
    static void Main()
    {
        double a = 12.262;

        // 1の位で切り上げ
        Console.WriteLine((Math.Ceiling(a / 10)) * 10); // 20

        // 10の位で切り上げ
        Console.WriteLine((Math.Ceiling(a / 100)) * 100); // 100
    }
}

9行目は、1の位で切り上げています。以下の操作です。
1.対象の値を10で割ります。(12.262 / 10 = 1.2262)
2.ceilメソッドを使用して小数点以下を切り上げます。(1.2262 → 2)
3.対象の値を再度10で掛けます。(2 * 10 = 20)

以下はMicrosoftのMathクラスCeilingメソッドのリンクです。
https://docs.microsoft.com/ja-jp/dotnet/api/system.math.ceiling?view=netframework-4.8#System_Math_Ceiling_System_Double_

関連の記事

C# 四捨五入のサンプル(Round)

△上に戻る