У меня возникли некоторые проблемы с преобразованием значения из OracleDecimal.Вот код
public static T GetReaderValue(this OracleDataReader dr, string col) where T : struct
{
int colNo = dr.GetOrdinal(col);
var value = (double)OracleDecimal.SetPrecision(dr.GetOracleDecimal(colNo), 28);
return (T) Convert.ChangeType(value, typeof(T), CultureInfo.InvariantCulture);
}
Это прекрасно работает для большинства значений, но для некоторых, таких как 0.12345, он возвращает числа вроде 0.123499999999.
Может кто-нибудь предложить какой-либо совет о том, как конвертировать OracleDecimal без этихошибки округления?
Спасибо!