0

我在 Grails 应用程序中编辑 Floats 时遇到问题。我将纬度信息存储在我的域类中,并定义了比例:

class Location {
   Float latitude
   ...

   static constraints = {
      latitude(scale:15)
   }

因此,我的脚手架视图显示 15 位精度。但是,我只能编辑小数点后的 6 位数字(如果我更改第 7 位数字位置,则没有任何反应)。示例:1.原始:12.123456789,编辑:12.123450789 - 工作正常 2.原始:12.123456789,编辑:12.123456089 - 不起作用,存储以前的值

我使用 H2 DB 进行测试。我认为这是 Grails 或 Gorm 的问题,因为值存储在 DB 中,但 Grails 无法识别“小”数字变化。任何解决方法?:-)

4

1 回答 1

1

Float只有大约 7 个十进制数字的精度,除此之外的一切都是内部二进制分数表示的伪影。您可能想BigDecimal改用。

于 2012-10-21T11:30:04.830 回答