Лучшая практика для представления денег (стоимость + валюта) в Grails - PullRequest
10 голосов
/ 14 апреля 2010

Я не очень знаком с типом валюты Java и тем, как он используется в Grails. Хотя я еще не использовал его, я видел тег <g:currencySelect> для использования в представлениях. Итак, как мне представить его в классе домена.

class Money {
BigDecimal value
Currency currency
....
}

или есть лучший sol, который сравнивает различные денежные объекты, форматирует их в соответствии с локалью (',' в ЕС для разделителя и т. Д.)

спасибо заранее. Баба.

Ответы [ 5 ]

2 голосов
/ 28 ноября 2012

Вы должны использовать BigDecimal. Groovy и Grails имеют отличную встроенную поддержку как тип данных для классов домена GORM. Для обоснования использования его см. Здесь

Какой тип данных лучше всего использовать для денег в Java-приложении?

0 голосов
/ 15 апреля 2016

, поскольку первоначальный ответ кажется устаревшим, возможно, вы захотите взглянуть на money-plugin , который свежий и в настоящее время поддерживается.

0 голосов
/ 01 февраля 2015

Если вы хотите, чтобы также обновлялись ставки обменного курса в реальном времени, следующий плагин может помочь https://grails.org/ExchangeRates+Plugin все ставки взяты из Yahoo Finance.

0 голосов
/ 04 апреля 2011

Используйте библиотеку JScience. Жаль, что он еще не находится в репозитории Maven и не имеет оболочки Groovy, чтобы сделать его Groovier (TM).

0 голосов
/ 14 апреля 2010

Возможно, вы захотите взглянуть на плагин Currency . Он предоставляет класс Money для хранения денежных сумм разных валют. Они могут быть встроены в классы домена следующим образом:

class CustomerTransaction {
    Date date = new Date()
    Money amount

    static embedded = ['money']
}
...