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

C#のDecimal.Add()メソッドとは?使い方とコード例を解説

C#のDecimal.Add()メソッドは、指定した2つのDecimal(10進数)値を加算し、その結果を返す静的メソッドです。金額計算など、浮動小数点型では誤差が生じる可能性がある場面で、高精度な10進数演算を行いたい場合に活用できます。

構文

Decimal.Add()メソッドの構文は以下のとおりです。

public static decimal Add (decimal val1, decimal val2);

パラメータ

  • val1:加算対象となる最初のdecimal値
  • val2:加算対象となる2番目のdecimal値

戻り値

val1とval2の合計値をdecimal型で返します。

例外

演算結果がdecimal型で扱える範囲(約 ±7.9 × 1028)を超えた場合には、OverflowExceptionがスローされる点に注意してください。

使用例1:基本的な加算

まずは、2つのDecimal値を加算する基本的な例を見てみましょう。

using System;
public class Demo {
   public static void Main(){
      Decimal val1 = 3.07m;
      Decimal val2 = 4.09m;
      Console.WriteLine("Decimal 1 = "+val1);
      Console.WriteLine("Decimal 2 = "+val2);
      Decimal res = Decimal.Add(val1, val2);
      Console.WriteLine("Result (Sum) = "+res);
   }
}

実行結果

このプログラムを実行すると、次のような出力が得られます。

Decimal 1 = 3.07
Decimal 2 = 4.09
Result (Sum) = 7.16

使用例2:Decimal.MinValueとの加算

続いて、decimal型が取りうる最小値であるDecimal.MinValueを使った例を紹介します。

using System;
public class Demo {
   public static void Main(){
      Decimal val1 = Decimal.MinValue;
      Decimal val2 = 8.21m;
      Console.WriteLine("Decimal 1 = "+val1);
      Console.WriteLine("Decimal 2 = "+val2);
      Decimal res = Decimal.Add(val1, val2);
      Console.WriteLine("Result (Sum) = "+res);
   }
}

実行結果

このプログラムを実行すると、次のような出力が得られます。

Decimal 1 = -79228162514264337593543950335
Decimal 2 = 8.21
Result (Sum) = -79228162514264337593543950327

まとめ

Decimal.Add()メソッドを使えば、2つのdecimal値を安全かつ正確に加算できます。decimalリテラルを記述する際は、数値の末尾にmサフィックスを付けることを忘れないようにしましょう。また、結果がdecimal型の範囲を超える可能性がある場合は、OverflowExceptionへの対処も検討してください。

  1. C#のDecimal.ToSByte()メソッドとは?構文と使い方をわかりやすく解説

    C#のDecimal.ToSByte()メソッドは、指定されたDecimal(10進数)の値を、それと等価な8ビット符号付き整数(sbyte型)に変換するために使用される静的メソッドです。小数を含む値を整数として扱いたい場合などに活用できます。 構文 このメソッドの構文は以下の通りです。 public static sbyte ToSByte (decimal val); パラメータの「val」には、変換対象となるdecimal型の数値を指定します。戻り値としては、変換後のsbyte型(-128〜127の範囲)の値が返されます。 使用例1:基本的な使い方 まずは、Decimal.ToS

  2. C#のDecimal.ToOACurrency()メソッドとは?構文と使い方をサンプルコードで解説

    C#のDecimal.ToOACurrency()メソッドは、指定されたDecimal(10進数)の値を、64ビット符号付き整数に格納されるOLEオートメーション通貨(OLE Automation Currency)値へと変換するためのメソッドです。OLEオートメーション通貨は、小数点以下4桁を固定で持つ形式で表現され、元の値が10,000倍された整数として扱われます。そのため、変換結果はlong型(64ビット符号付き整数)として返されます。構文このメソッドの構文は以下の通りです。public static long ToOACurrency (decimal val);パラメータ「val」に