pradeep manne Ответов: 6

Какой тип данных лучше всего использовать для получения денег в c#?


Какой тип данных лучше всего использовать для получения денег в c#?

Какой тип данных лучше всего использовать для BIT в c#?

6 Ответов

Рейтинг:
46

Nish Nishant

Самый популярный тип был бы decimal.

http://msdn.microsoft.com/en-us/library/364x0z75(в=ВС.100).aspx-файл[^]


[no name]

+5, хотя, похоже, это ничья :-)
Он даже сказал то же самое количество секунд, когда он был меньше минуты :-P

Nish Nishant

Извиняюсь :-)

net_prog

Всегда десятичный за деньги.

Рейтинг:
2

Rob Philpott

Я знаю, что мнение здесь, похоже, решительно опирается на десятичную дробь, но это может быть излишним. Эти вещи имеют ширину 16 байт, что дает им чрезвычайную точность, но это будет стоить производительности и хранения данных. Ваши типы баз данных имеют ширину всего 4 и 8 байт.

Если вам нужна такая точность, то decimal-это ваш выбор, но если вы этого не сделаете, я бы рассмотрел использование меньшего типа.


[no name]

Насколько ваши замечания точны и полезны, вы должны предоставить альтернативы ОП. В противном случае вы на самом деле не предоставляете решение, а просто предоставляете антирешение.

Rob Philpott

Извините, я не совсем понимаю вашу точку зрения. Пожалуйста, уточните.

Рейтинг:
2

N_tro_P

Десятичный[^] ИМО, однако я часто заворачиваю его в другой объект. Таким образом, вы можете хранить тип валюты и другие функции, которые вам могут понадобиться.

[EDIT - кажется, вы добавили после этого repsonce]
Небольшие деньги это не релевантные в C#, как SmallDate не. Если вы храните его как таковой в БД, вам нужно будет проверить свои значения по мере их ввода пользователем или перед отправкой в БД.
Тем больше причин, по которым вы должны обернуть его в объект. Вы можете добавить некоторое свойство, которое отслеживает тип заднего хранилища

public enum MoneyType
{
   Small,
   Large
}


Установите свойство на постройку денежного объекта. Затем в Value установщик свойств вы можете проверить, соответствует ли он ограничениям small (то есть если он мал), и обрабатывать его так, как вы хотите, если это не так (например, сообщение об ошибке, усечение, игнорирование и т. д.)


Nish Nishant

Моей 5. Приятно снова ваш ответ до *Грин*

[no name]

Вот именно! *Качающаяся Голова* :P

Рейтинг:
2

Uday P.Singh

десятичный[^]

надеюсь, это поможет :)


Nish Nishant

Чувак, 3-й парень, чтобы опубликовать то же самое :-)

Uday P.Singh

всего на 6 секунд опоздал ЛОЛ :)

Рейтинг:
1

fjdiewornncalwe

Правильно, но вы получаете только 3, потому что один и тот же ответ был дан уже 4 раза до того, как вы это сделали. Пожалуйста, не публикуйте дубликаты существующих ответов. Те, которые находятся в пределах одной минуты, приемлемы, потому что другие ответы еще не существовали бы с точки зрения этих пользователей.

Рейтинг:
0

Dave Kreskowiak

Десятичный. Это единственный тип с плавающей запятой, который не страдает от ошибок аппроксимации, но он медленнее в использовании и имеет меньший диапазон.


Nish Nishant

И номер 4! :-)

[no name]

Ну, по крайней мере, ОП будет уверен в своем выборе :-P