Я думаю, что плавает. Для записи я также использую NHibernate.
Какие типы я должен использовать для представления процентов в С# и SQL Server?
Ответ 1
decimal
Вы не потеряете точность из-за округления.
Ответ 2
Ответ зависит от приложения.
Другие указали, что десятичное значение лучше, чем float для представления точного значения. Но иногда лучше использовать float для повышения точности (например, набор рассчитанных весов, который составляет до 100%, вероятно, лучше представлен как float)
Ответ 3
В значительной степени это зависит от того, насколько вам нужна точность; Самое главное - быть последовательным и ясным. Примите меры предосторожности, чтобы убедиться, что вы совместимы в полевых условиях.. т.е. Не храните его как float (n =.5), а затем попытайтесь восстановить его, как если бы оно было целым числом в другой части вашего кода (mypercentage = п /100). До тех пор, пока вы убедитесь, что этого не делаете, и вы не создаете лазер, который требует 30 значащих цифр точности, просто выберите свой любимый аромат между int, double или любым другим, плавающим на вашей лодке. Вака Вака.
Ответ 4
Это зависит от того, насколько вы точны. Если вам не нужны десятичные разряды, вы можете даже использовать крошечный int. Но в целом плавать хорошо, если вам нужны десятичные разряды. Я использую LLBLGen и плаваю для%
Ответ 5
Что касается SQL Server, редко бывает, что я бы сохранил процент. В 9 раз из 10 вы хотите сохранить данные, которые используются для получения процента и вычисления по мере необходимости.
Если и только если у вас есть эмпирические данные, показывающие, что расчет слишком медленный, тогда идите в магазин. Используйте десятичное число, как ранее предлагалось, чтобы избежать проблем округления.
Ответ 6
Это зависит от того, для чего вы их используете.
если он для отображения, int будет делать все отлично и быть быстрее, чем float. Если это для нечастой математики, int все равно будет делать штраф (или даже короткий, в любом случае).
Если вы делаете много математики, то поплавок, вероятно, будет лучшим, с точки зрения производительности.
Конечно, если вы не делаете много манипуляций с процентами, в конце концов, это будет неважно, по производительности, учитывая современную скорость процессора.
EDIT: Конечно, "int" предполагает, что вы используете только строгие, целые числа. Если вы этого не сделаете, вы ВСЕГДА будете лучше с float или dec.