SQL добавляет случайные десятичные точки при получении вещественного значения из БД в Double в C # - PullRequest
4 голосов
/ 14 июля 2011

При вводе двойного числа из C # в БД я использую реальный тип в БД. Когда я проверяю значение, это именно то, что я ввожу.

Теперь, когда я иду получить значение из БД и сохранить его в C # double, он добавляет случайные десятичные значения в конце. Число в базе данных - это правильное значение, которое я хочу, но значение в C # как двойное просто случайно (иногда выше, иногда ниже, чем фактическое значение.)

т.е.

- Enter into the db 123.43 as a double to an sql real.
- View the value in the DB, it's exactly 123.43
- Get the value from the DB and store into a C# double, value in the double is now 123.4300000305176

Я пытался изменить тип в БД с плавающей, десятичной и т. Д., Но эти типы фактически меняют значение, когда я помещаю его в БД в тот же формат, что и выше.

Любая помощь в том, что происходит или как это исправить?

Ответы [ 2 ]

3 голосов
/ 14 июля 2011

Возможно, вы должны использовать десятичный тип.См. Что представляет собой двойной в sql сервере? для дальнейшего объяснения.

0 голосов
/ 14 июля 2011

Попробуйте использовать Single, если ваш тип БД real.Проверьте здесь для отображения данных http://msdn.microsoft.com/en-us/library/ms131092.aspx

...