Decimalでは無限大・非数を扱うことはできません。 定数値および定数同士の計算結果が0除算となる場合、コンパイル時エラーとなります。 また、実行時に0除算となる場合は例外DivideByZeroExceptionがスローされます。
Decimalにおけるゼロ除算の扱い
using System;
class Sample {
static void Main()
{
const decimal zero = 0.0m;
const decimal nonzero = 1.0m;
decimal one = 1.0m;
// 定数0による除算の場合、コンパイル時エラーとなる
Console.WriteLine(nonzero / zero); // error CS0020: 定数 0 による除算です。
// 実行時に0除算となる場合、例外DivideByZeroExceptionがスローされる
Console.WriteLine(one / (one - 1.0m));
}
}