Вы должны установить Locale в вашем приложении.Возможно, язык вашего сервера по умолчанию отличается от вашего клиента.Однако вы правы, что Grails должен справиться с этим.
Вот мой обходной путь: Вставьте это в свой Bootstrap.groovy:
Locale.setDefault(Locale.GERMAN);
Всегда используйте formatNumber
, при печати в GUI:
${formatNumber(number:float, locale: Locale.GERMAN, format:'##0.00')}
сделать соответствующий десятичный разделитель.Когда вы находитесь в контроллере и не имеете командного объекта, вам нужно будет проанализировать значение самостоятельно.Поэтому:
DecimalFormat decimalFormat = DecimalFormat.instance;
servicePrice.price = decimalFormat.parse(params.price);
Вам не нужно делать это, когда вы вместо этого используете объект команды.