Почему объект команды Grails преобразует тип BigDecimal в целое число? - PullRequest
0 голосов
/ 28 февраля 2020

Итак, у меня есть мой объект Command и мой класс:

class AddOnBodyCommand implements Validateable {
  BigDecimal addOnPrice
}
class AddOnController {
  def addAddOnAction(AddOnBodyCommand body) {
    log.info("price: $body.addOnPrice")
  }
}

Я работал с CommandObject на моих предыдущих страницах, и у меня никогда не было ошибки. Но теперь у меня есть форма, где мне нужно запросить BigDecimal:

   <input type="number" step="0.01" id="newPriceAddOn" name="body.addOnPrice" value="0.55">

Однако, когда я отправляю форму, регистратор говорит, что цена 55.

Я мог бы исправить это использование param.price вместо CommandObject, но я бы хотел использовать CommandObject, потому что код выглядит чище, и я могу выполнить проверку в классе CommandObject. Любые идеи?

Чтобы воспроизвести проблему: https://github.com/lRaulMN7/BigDecimalIssue и введите 1123.45 во вводе. В log.info будет напечатано 112345 вместо 1123.45

...