У меня есть приложение Grails, в котором я обрабатываю XML-файл и используя проанализированные данные для создания объектов и сохранения их в базе данных MySQL.Значение поплавка не сохраняется в базе данных
Один из моих классов имеет Float
свойство:
class Foo {
// ...
Float myFloat
static constraints = {
myFloat(scale: 9) // Trying to specify 9 digits of precision, but this doesn't seem to be making any difference
}
// ...
}
Хотя разбор XML я пришел к атрибуту со значением 6378137
. Я хочу, чтобы присвоить это значение myFloat
:
class MyService{
// ...
def xml = new XmlParser().parseText(myXmlFile.getText())
def foo = new Foo(
myFloat: xml.attribute("my_float")?.toFloat()
).save()
// ...
}
На данный момент в отладчике я вижу значение myFloat
является 6378137.0
. Проблема в том, что после совершения транзакции значение, хранящееся в базе данных, равно 6378140
.
Почему не myFloat
хранится со значением, которое присваиваю ему?
Что такое тип данных соответствующего столбца? –
@JamesKleeh тип данных 'float'. – ubiquibacon