Какой тип данных лучше всего использовать для получения денег в c#?
Какой тип данных лучше всего использовать для получения денег в c#?
Какой тип данных лучше всего использовать для BIT в c#?
Самый популярный тип был бы decimal
.
http://msdn.microsoft.com/en-us/library/364x0z75(в=ВС.100).aspx-файл[^]
+5, хотя, похоже, это ничья :-)
Он даже сказал то же самое количество секунд, когда он был меньше минуты :-P
Извиняюсь :-)
Всегда десятичный за деньги.
Я знаю, что мнение здесь, похоже, решительно опирается на десятичную дробь, но это может быть излишним. Эти вещи имеют ширину 16 байт, что дает им чрезвычайную точность, но это будет стоить производительности и хранения данных. Ваши типы баз данных имеют ширину всего 4 и 8 байт.
Если вам нужна такая точность, то decimal-это ваш выбор, но если вы этого не сделаете, я бы рассмотрел использование меньшего типа.
Насколько ваши замечания точны и полезны, вы должны предоставить альтернативы ОП. В противном случае вы на самом деле не предоставляете решение, а просто предоставляете антирешение.
Извините, я не совсем понимаю вашу точку зрения. Пожалуйста, уточните.
Десятичный[^] ИМО, однако я часто заворачиваю его в другой объект. Таким образом, вы можете хранить тип валюты и другие функции, которые вам могут понадобиться.
[EDIT - кажется, вы добавили после этого repsonce]
Небольшие деньги это не релевантные в C#, как SmallDate не. Если вы храните его как таковой в БД, вам нужно будет проверить свои значения по мере их ввода пользователем или перед отправкой в БД.
Тем больше причин, по которым вы должны обернуть его в объект. Вы можете добавить некоторое свойство, которое отслеживает тип заднего хранилища
public enum MoneyType { Small, Large }
Value
установщик свойств вы можете проверить, соответствует ли он ограничениям small (то есть если он мал), и обрабатывать его так, как вы хотите, если это не так (например, сообщение об ошибке, усечение, игнорирование и т. д.)
Моей 5. Приятно снова ваш ответ до *Грин*
Вот именно! *Качающаяся Голова* :P
Чувак, 3-й парень, чтобы опубликовать то же самое :-)
всего на 6 секунд опоздал ЛОЛ :)
Правильно, но вы получаете только 3, потому что один и тот же ответ был дан уже 4 раза до того, как вы это сделали. Пожалуйста, не публикуйте дубликаты существующих ответов. Те, которые находятся в пределах одной минуты, приемлемы, потому что другие ответы еще не существовали бы с точки зрения этих пользователей.
Десятичный. Это единственный тип с плавающей запятой, который не страдает от ошибок аппроксимации, но он медленнее в использовании и имеет меньший диапазон.
И номер 4! :-)
Ну, по крайней мере, ОП будет уверен в своем выборе :-P