Какой правильный тип данных мне следует использовать в этом случае? - PullRequest
5 голосов
/ 28 декабря 2011

Я должен представлять цифры в моей базе данных, которые представляют собой количество химических веществ в пище, таких как жиры, энергия, магний и другие. Эти значения являются десятичными в формате 12345.67.

Если я использую decimal (5,2) в качестве типа данных в SQL Server, он сопоставляется с типом Decimal в Entity Framework. Если я использую float в качестве типа данных в SQL Server, он сопоставляется с Double в Entity Framework.

Я не уверен, каким должен быть лучший тип данных в SQL Server, или это не имеет большого значения?

РЕДАКТИРОВАТЬ - в моем случае это должно быть decimal(7,2), как указано в некоторых замечаниях!

Спасибо.

Ответы [ 2 ]

11 голосов
/ 28 декабря 2011

Вам нужно decimal(7,2)

  • 7 - общее количество цифр
  • 2 после десятичной точки

Отличия:

  • float приблизительно и даст неожиданные результаты
  • десятичное число точное значение

Ссылки:

4 голосов
/ 28 декабря 2011

DECIMAL(7,2) будет лучше, чем float - это именно то, что вам нужно (5 + 2 цифры).С плавающими типами (например, float, double) у вас могут возникнуть некоторые проблемы - например, с округлением.

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