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

C#のMathF.Round()メソッドの使い方を例付きで解説

C#のMathF.Round()メソッドは、float型の値を最も近い整数、または指定した小数点以下の桁数に丸めるためのメソッドです。数値計算や表示フォーマットの処理などで頻繁に活用される便利な機能なので、しっかり理解しておきましょう。

構文

MathF.Round()メソッドには、用途に応じて以下の4つのオーバーロードが用意されています。

public static float Round (float x);
public static float Round (float x, int digits);
public static float Round (float x, int digits, MidpointRounding mode);
public static float Round (float x, MidpointRounding mode);

各パラメータの意味は次のとおりです。

  • x:丸め対象となるfloat型の値
  • digits:出力する小数点以下の桁数
  • mode:中間値(ちょうど半分)の場合の丸め方を指定するMidpointRounding列挙体

使用例1:最も近い整数へ丸める

まず、MathF.Round()メソッドを使って値を最も近い整数に丸める基本的な例を見てみましょう。

using System;
public class Demo {
    public static void Main(){
        float val1 = 15.20f;
        float val2 = 3.10f;
        Console.WriteLine("Rounded (val1) = "+MathF.Round(val1));
        Console.WriteLine("Rounded (val2) = "+MathF.Round(val2));
    }
}

出力結果

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

Rounded (val1) = 15
Rounded (val2) = 3

15.20は15に、3.10は3にそれぞれ丸められているのがわかります。

使用例2:小数点以下の桁数を指定して丸める

次に、第2引数で小数点以下の桁数を指定して丸める例を見てみましょう。これにより、任意の精度で丸め処理を行うことができます。

using System;
public class Demo {
    public static void Main(){
        float val1 = 10.23898f;
        float val2 = 20.878788f;
        Console.WriteLine("Rounded (val1) = "+MathF.Round(val1,2));
        Console.WriteLine("Rounded (val2) = "+MathF.Round(val2,3));
    }
}

出力結果

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

Rounded (val1) = 10.24
Rounded (val2) = 20.879

10.23898は小数第2位で10.24に、20.878788は小数第3位で20.879に丸められました。

まとめ

MathF.Round()メソッドを使えば、float値を整数にも指定した小数桁数にも簡単に丸めることができます。なお、このメソッドはデフォルトで「銀行家の丸め(MidpointRounding.ToEven)」が適用されるため、0.5のような中間値の扱いには注意が必要です。期待する動作を実現したい場合は、MidpointRoundingモードを明示的に指定するとよいでしょう。

  1. C#のMathF.Sin()メソッドの使い方を例付きで解説

    C#のMathF.Sin()メソッドは、指定されたfloat型の引数(角度)に対する正弦(サイン)の値を返すために使用されます。浮動小数点数専用に設計されたこのメソッドは、単精度演算が必要な場面でMath.Sin()よりも効率的に動作します。構文MathF.Sin()メソッドの構文は以下のとおりです。public static float Sin (float val);引数 val には、正弦を求めたい角度(ラジアン単位)を指定します。戻り値指定した角度のサイン値(float型)を返します。引数が NaN(非数)の場合、戻り値も NaN になります。引数が PositiveInfinity

  2. C#のMathF.Truncate()メソッドとは?具体例でわかりやすく解説

    C#のMathF.Truncate()メソッドは、指定された単精度浮動小数点数(float)の整数部分を計算するためのメソッドです。小数点以下を切り捨て、整数部分のみをfloat型として返します。構文MathF.Truncate()メソッドの構文は以下の通りです。public static float Truncate (float val);引数「val」には、切り捨ての対象となる数値を指定します。戻り値valの整数部分がfloat型で返されます。引数がNaNの場合はNaNが、無限大の場合はそのまま無限大が返される点に注意してください。使用例1:無限大を渡した場合まず、正の無限大と負の無限大