У меня есть столбец в базе данных T-SQL, который состоит из реальных значений, но когда я конвертирую его в double, я получаю нечто иное, чем то, что было сохранено.
Например, я выбираю одну строку, содержащую 1.15. Когда я конвертирую его с:
Convert.ToDouble(reader["VAT"]);
Я получил:
1,14999997615814
Зачем? И как мне преобразовать реальный в double и получить такое же значение?
Попробуйте изменить тип данных вашего столбца с real
на float
. Если вы посетите эту ссылку, вы заметите, что тип данных float
SQL Server сопоставляется с типами Double
, Nullable<Double>
CLR. С другой стороны, real
тип данных SQL Server сопоставляется с типами Single
, Nullable<Single>
CLR. Я подозреваю, что ваша проблема.