Грааль "шкала" сбрасывая десятичные цифры - PullRequest
0 голосов
/ 20 августа 2010

Вопрос с использованием Grails 1.3.4 - ограничение «scale», похоже, не сохраняет мои десятичные дроби. У меня есть поле, определенное как: Float широта У меня есть ограничение: широта (пусто: ложь, диапазон: -360.0f..360.0f, масштаб: 6) Поле Oracle 10g определяется как: NUMBER (10,6)

Когда я ввожу значение в Create или Edit, правильное значение попадает в базу данных. Тем не менее, он никогда не отображается правильно в шоу. Если я введу 10.1234567 и обновлю, 10.123457 будет в базе данных, но 10.123 отобразится в Show.

Если я редактирую, значение отображается как 10.123, и если я обновляю без его изменения, 10.123 будет сохранено в базе данных, заменив 10.123457, хотя я никогда не касался этого поля.

Если я отредактирую значение в 10.456789, но оставлю другое обязательное поле пустым, в результате на экране редактирования с сообщением об ошибке будет показано значение 10.457.

Почему Grails постоянно округляет значение до 3 цифр? Я пробовал поле также как Дабл, но результаты те же. Я подумал, что, возможно, это Oracle, но я попробовал это с базой данных по умолчанию и с тем же результатом. Я подумал, может быть, это «диапазон», но я снял его с тем же результатом.

Ответы [ 2 ]

0 голосов
/ 22 июля 2014

Потратив слишком много времени, пытаясь это выяснить, в конечном итоге воспользовался решением, предложенным Snowmanjack.

Связывание данных по умолчанию, которое происходит с вызовом fieldValue, усекает его. Вы можете написать новый механизм связывания данных, который будет выполнять преобразование так, как вы хотите, как описано здесь http://grails.org/doc/latest/guide/single.html#dataBinding

Или вы можете использовать ленивый, возможно, менее безопасный метод, который я использовал, и получить доступ к свойству напрямую.

Я заменил.

${fieldValue(bean: countryInstance, field: "latitude")}

с

${contryInstance.latitude}
0 голосов
/ 23 августа 2010

Хм - вы уверены, что он правильно отображается в вашей программе просмотра базы данных? Также - проверьте использование тегов: см. http://www.pubbs.net/200908/grails/38057-grails-user-how-does-rounding-of-decimals-work-in-gsp.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...