Code VB.NET, non testé, mais j'ai utilisé quelque chose de similaire pour un oracleDecimal que j'avais. La transformation en C# devrait être facile.
OracleDecimal oraDec = MDSYS.SDO_GEOMETRY(2001, 1041001,
MDSYS.SDO_POINT_TYPE(-2.89957214912471,1.56043985049899E-15,NULL),NULL,NULL)
oraDec = OracleDecimal.SetPrecision(oraDec, 28) ' !!!
Decimal netDec = oraDec.Value