SqlCeServer: Float хранит неправильно - PullRequest
0 голосов
/ 23 июня 2011

В моем отладчике (VS2010) я могу убедиться, что отправляю правильные значения в мою базу данных SqlCeServer 3.5 , используя SqlCeCommand.

Глядя на данные впоследствии, я заметил, что некоторые моих float значений перекошены.

  • Когда я введу 0.006, база данных будет хранить 0.0060000000521540642

  • Когда я введу 0.012, база данных будет хранить 0.0120000001043081

  • Когда я введу 0.011, база данных будет хранить 0.0109999999403954

Другие значения с плавающей запятой (1,125, 0,875, 0,75) сохраняются просто отлично.

Нужно ли что-то особенное сделать, чтобы мои float значения хранились правильно?

Ответы [ 2 ]

2 голосов
/ 23 июня 2011

Не используйте float : это приблизительно

Использовать фиксированную точность: десятичное / числовое

0 голосов
/ 23 июня 2011

Из MSDN:

"не все значения в диапазоне типов данных могут быть представлены точно."

Похоже, вы нашли некоторые из них!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...