Какой слой лучше всего использовать для форматирования номеров валют?
-
03-07-2019 - |
Вопрос
Я использую Javascript во внешнем интерфейсе, C # в качестве среднего уровня и Oracle 9i в качестве БД.
Как лучше всего форматировать числа с точностью до 2 десятичных знаков в валюте? И какие слои должны быть предпочтительными среди любого из этих трех слоев?
Помните, что пользователь сможет редактировать эти суммы на нескольких моих экранах в приложении.
Решение
Хранение вашего десятичного числа может быть с более высокой точностью, чем 2 цифры. Поскольку вы упоминаете C # и Javascript, я могу предположить, что вы используете ASP.NET для своего интерфейса.
Отображение валюты должно быть обработано в вашем коде ASP.NET, чтобы отображать ее на основе локали вашего пользователя / cultureinfo.
Для ваших видов сетки и других элементов управления отображением в C # вы можете использовать параметр форматирования строки: {0: c}
, чтобы отобразить валюту с правильным символом и двумя десятичными знаками.
Другие советы
Я бы сказал, делайте это настолько близко к пользователю, насколько это практически возможно. В любом случае, отсутствует в базе данных, поскольку БД не будет знать о локали пользователя.
Обновление . При форматировании валюты помните, что вы отображаете информацию для пользователя, которая действительно верна. Форматирование валюты отличается от преобразования валюты ...
если вы хотите выполнить какие-либо математические операции с вашими данными, будет гораздо лучше выполнить форматирование в Javascript и добавить символ валюты. Р>