【发布时间】:2011-09-09 18:06:35
【问题描述】:
我在使用 grails 应用时遇到问题。
在某些情况下,当使用 MyObject.get(id) 检索实例时,我会收到以下异常:
Expected: class java.lang.Integer, got class java.lang.String
所以我这样做了:
Integer i = Integer.valueOf(params.id);
MyObject.get(i);
但是,出现了一个新问题。 Integer#valueOf(String) 似乎返回了一个格式化的值,所以如果 params.id 大于 1000,i 会得到一个小数点(例如 1253 ->1.253)。
更新
经过更多研究,我发现params.id 的值带有小数点,即使它不存在于查询字符串中:
http://somesite.com//action?other=33&id=1485
params.id = 1.485
那个小数点是怎么回事? 有没有什么优雅的方法呢?
提前致谢
【问题讨论】:
标签: java grails integer number-formatting