Лучшая практика представления денег (стоимость + валюта) в Grails
Я не очень хорошо знаком с Java Currency type и тем, как он используется в Grails. Хотя, я еще не использовал его, я видел тег <g:currencySelect>
для использования в представлениях. Итак, как я представляю его в классе домена.
class Money {
BigDecimal value
Currency currency
....
}
или есть лучший зол, который сравнивает разные объекты денег, формат в соответствии с языковым стандартом (',' в ЕС для разделителя и т.д.)
Заранее спасибо.
Баба.
Ответы
Ответ 1
Возможно, вы захотите посмотреть Плагин валют. Он предоставляет класс Money для хранения денежных сумм разных валют. Они могут быть встроены в классы домена, например:
class CustomerTransaction {
Date date = new Date()
Money amount
static embedded = ['money']
}
Ответ 2
Вы должны использовать BigDecimal. Groovy и Grails имеет отличную поддержку для него как тип данных на классах классов GORM. Для рассуждения о его использовании см. Здесь
Каков наилучший тип данных для использования в java-приложении?
Ответ 3
Используйте библиотеку JScience. Это просто стыдно не в репозитории Maven, и у него нет обертки Groovy, чтобы сделать это Groovier (TM).
Ответ 4
Если вы хотите иметь также текущие обновления обменных курсов, то следующий плагин мог бы помочь https://grails.org/ExchangeRates+Plugin все ставки вытягиваются из Yahoo Finance.
Ответ 5
поскольку исходный ответ кажется устаревшим, вы можете взглянуть на money-plugin, который является новым и в настоящее время поддерживается.