const string dataFmt = "{0,31}{1,27}";
public static void Main()
decimal[] values = { 0M, 1M, 1.0000000000000000000000000000M,
100000000000000M, 100000000000000.00000000000000M,
10000000000000000000000000000M, 0.000000000123456789M,
0.123456789M, 123456789M, 123456789000000000M, 4294967295M,
18446744073709551615M, -79.228162514264337593543950335M,
-79228162514264.337593543950335M };
Console.WriteLine(dataFmt, "Decimal value", "OA Currency or Exception");
Console.WriteLine(dataFmt, "-------------", "------------------------");
foreach (var value in values)
long oaCurrency = value.ToOACurrency();
Console.WriteLine(dataFmt, value, oaCurrency);
Console.WriteLine(dataFmt, value,
public static string GetExceptionType(Exception ex)
string exceptionType = ex.GetType().ToString();
return exceptionType.Substring(
exceptionType.LastIndexOf('.') + 1);