C#のDecimal.Divide()メソッドとは?構文と使い方をサンプルコード付きで解説
C#のDecimal.Divide()メソッドは、指定された2つのDecimal型の値を除算するための静的メソッドです。金額計算など、浮動小数点誤差を避けたい正確な10進数演算が必要な場面で活用されます。
構文
Decimal.Divide()メソッドの構文は以下の通りです。
public static decimal Divide (decimal val1, decimal val2);
各パラメータの意味は次の通りです。
- val1:被除数(割られる数)
- val2:除数(割る数)
戻り値は、val1をval2で割った結果を表すdecimal型の値です。なお、val2に0を指定した場合はDivideByZeroExceptionがスローされるため、実装時には注意が必要です。
使用例1
それでは、Decimal.Divide()メソッドを使用した具体的な例を見てみましょう。
using System;
public class Demo {
public static void Main(){
Decimal val1 = 65.15m;
Decimal val2 = 5.15m;
Console.WriteLine("Decimal 1 = "+val1);
Console.WriteLine("Decimal 2 = "+val2);
Console.WriteLine("After Division = "+(Decimal.Divide(val1,val2)));
}
}
出力結果
上記のコードを実行すると、以下のような出力が得られます。
Decimal 1 = 65.15 Decimal 2 = 5.15 After Division = 12.650485436893203883495145631
このように、Decimal.Divide()メソッドは非常に高い精度で除算結果を返します。doubleやfloatなどの浮動小数点型と異なり、10進数ベースの正確な計算が可能である点が大きな特徴です。
使用例2
続いて、同じ値同士で除算を行う別の例を見てみましょう。
using System;
public class Demo {
public static void Main(){
Decimal val1 = 1.0m;
Decimal val2 = 1.0m;
Console.WriteLine("Decimal 1 = "+val1);
Console.WriteLine("Decimal 2 = "+val2);
Console.WriteLine("After Division = "+(Decimal.Divide(val1,val2)));
}
}
出力結果
上記のコードを実行すると、以下の出力が得られます。
Decimal 1 = 1.0 Decimal 2 = 1.0 After Division = 1
この例では、1.0を1.0で割っているため、結果は「1」となります。このようにDecimal.Divide()メソッドを使えば、シンプルかつ確実にDecimal型同士の除算処理を実装できます。
-
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」に
-
C#のDecimal.Floor()メソッドの使い方を徹底解説
概要C#のDecimal.Floor()メソッドは、指定されたDecimal型の数値を「負の無限大方向」に向かって最も近い整数へ丸める静的メソッドです。正の数であれば小数点以下がそのまま切り捨てられますが、負の数の場合はより小さい整数側へ丸められる点に注意が必要です。構文構文は以下のとおりです。public static decimal Floor (decimal val);引数valには、丸めの対象となるDecimal型の値を指定します。使用例1:正の数の場合まず、正のDecimal値に対してDecimal.Floor()メソッドを使用する例を見てみましょう。using System; p