Какой слой лучше всего использовать для форматирования номеров валют?

StackOverflow https://stackoverflow.com/questions/819204

Вопрос

Я использую Javascript во внешнем интерфейсе, C # в качестве среднего уровня и Oracle 9i в качестве БД.

Как лучше всего форматировать числа с точностью до 2 десятичных знаков в валюте? И какие слои должны быть предпочтительными среди любого из этих трех слоев?

Помните, что пользователь сможет редактировать эти суммы на нескольких моих экранах в приложении.

Это было полезно?

Решение

Хранение вашего десятичного числа может быть с более высокой точностью, чем 2 цифры. Поскольку вы упоминаете C # и Javascript, я могу предположить, что вы используете ASP.NET для своего интерфейса.

Отображение валюты должно быть обработано в вашем коде ASP.NET, чтобы отображать ее на основе локали вашего пользователя / cultureinfo.

Для ваших видов сетки и других элементов управления отображением в C # вы можете использовать параметр форматирования строки: {0: c} , чтобы отобразить валюту с правильным символом и двумя десятичными знаками.

Другие советы

Я бы сказал, делайте это настолько близко к пользователю, насколько это практически возможно. В любом случае, отсутствует в базе данных, поскольку БД не будет знать о локали пользователя.

Обновление . При форматировании валюты помните, что вы отображаете информацию для пользователя, которая действительно верна. Форматирование валюты отличается от преобразования валюты ...

если вы хотите выполнить какие-либо математические операции с вашими данными, будет гораздо лучше выполнить форматирование в Javascript и добавить символ валюты.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top