5
Yepyeni bir derecelendirme 2.0 uygulamasında bir BigDecimal'i sürdürmeye çalışıyorum ve beklediğim gibi davranmıyor.Grails 2.0 sorun devam ediyor BigDecimal
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 = {
}
}
yazdırır:
0.912345
0.91
ben bootstrap bu kodu koymak Sonra
package l2bigdec
class PlayMe {
BigDecimal imStupidOrSomething
static constraints = {
}
}
:
Ben yeni uygulamal2bigdec
denilen ve bu etki alanı sınıfını eklemek yapmak Neden iki kere 0.912345 yazdırmıyor? BigDecimal anlamıyorum?
Ne ben aslında yuvarlak şamandıra bir BigDecimal değil istiyorsanız ve bunu vermek her haneyi korumak için ihtiyacı varsa? Bu artık 2.0'da mümkün mü değil? – Mikey
Daha büyük bir varsayılan ölçek ayarlayabilir miyim, bu yüzden her BigDecimal'i güncelleyerek projemde arama yapmak zorunda kalmam mı gerekiyor? – Mikey
Belirli bir RDBMS'yi hedefliyorsanız, bazılarının kullanabileceği isteğe bağlı kesinlik türleri vardır (örneğin, PostgreSQL'de NUMERIC). Aksi halde, keyfi basamakları korumanın kolay bir yolu yoktur. Ayrıca, varsayılan ölçeği ayarlamak için tek bir noktadan haberdar değilim. BigDecimal özellik adlarınız sınıflar arasında benzerse, burada açıklanan 'grails.gorm.default.constraints' komutunu kullanabilirsiniz: http://grails.org/doc/latest/ref/Constraints/Usage.html –