5
我試圖在一個全新的grails 2.0應用程序中堅持一個BigDecimal,而且它並不像我期待的那樣行事。Grails 2.0與堅持BigDecimal的問題
我提出一個新的應用程序稱爲l2bigdec
並添加此領域類:
package l2bigdec
class PlayMe {
BigDecimal imStupidOrSomething
static constraints = {
}
}
然後我把這個代碼在引導:
import l2bigdec.*
class BootStrap {
def init = { servletContext ->
def thisThingIHate = new PlayMe(imStupidOrSomething:0.912345).save(failOnError:true)
println thisThingIHate.imStupidOrSomething
PlayMe.withSession{it.clear()}
def getItBack = PlayMe.find{it}
println getItBack.imStupidOrSomething
}
def destroy = {
}
}
它打印:
0.912345
0.91
爲什麼兩次都不打印0.912345?我不明白BigDecimal嗎?
如果其實我是想將BigDecimal,而不是圓形的浮動,它需要保持每個數字我給它?這在2.0中不再可能嗎? – Mikey 2012-02-25 00:38:08
我可以設置一個更大的默認比例,所以我不必通過更新每個BigDecimal的項目來尋找? – Mikey 2012-02-25 00:39:06
如果你的目標是一個特定的RDBMS,有些可以使用任意精度的類型(例如PostgreSQL中的'NUMERIC')否則,我不知道保留任意數字的簡單方法。我也不知道有一個地方可以設置默認比例。如果您的BigDecimal屬性名稱在類中相似,則可以使用'grails.gorm.default.constraints',如下所述:http://grails.org/doc/latest/ref/Constraints/Usage.html – 2012-02-25 00:59:37