Задать вопрос

Asp.net mvc тип данных для денег?

public virtual decimal ProductPrice { get; set; }


Получеется, что в БД сохраняется с запятой, а на форме просит с точкой вводить из-за чего значение не сохраняется.


Как правильно организовать работу с «Деньгами» Какой тип данных должен быть и какие атрибуты?
  • Вопрос задан
  • 3725 просмотров
Подписаться 4 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Учебный центр IBS
    SDP-030_PRG Продвинутая разработка в Microsoft .NET
    1 неделя
    Далее
  • Ulearn.me
    Проектирование на языке C#
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 5

Можно хранить int в центах/копейках

Ответ написан
Комментировать
Soldata
@Soldata
Программист, владелец IT-компании.
Полтора года прошло! Но ответ дать хочется )) Когда с этой бедой столкнулся, то решение нашлось идеальное - к валидатору на форме добавил скрипт methods_ru.js. Много лет пользуюсь. Вот тут это нашел.
Ответ написан
Комментировать
@lavel
Если сервер БД и IIS находятся на разных серверах, то нужно проверить, чтобы совпадали установленные культуры по умолчанию, в русской культуре разделитель дробной части запятая, в en-US запятая отделяет разряда, а дробную часть разделяет точка. Возможно понадобится принудительно установить используемую культура в MVC приложении.
Ответ написан
Комментировать
@David_KoKos
используй decimal, какая там культура на серваке бд - это не важно,тебе главное в своем приложении получить с формы decimal корректный и все,а дальше просто положить его в базу,главное,чтобы типы совпадали.
Ответ написан
kakutuzov
@kakutuzov
посмотрите и почитайте про интерфейс IModelBinder
в нём распарсите и вытащите значение. В своё время один раз написал и больше не запариваюсь от того, как написал пользователь с точкой или запятой.

ЗЫ ой. я опоздал с ответом)) год прошёл.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы