我有一个输入表单,我想插入一些数字并计算一些结果。所以我的输入字段看起来像
<fmt:parseNumber var = "a" type = "number"
value = "${object.someAttribute}" integerOnly = "true"/>
<input type="number" name="someAttribute" required pattern="[0-9]" value="${a}" />
我想关注:首次访问时,用户应插入一个数字(整数)。在计算中,所有值均为Double
以防止铸造副作用。刷新站点/用户想要重复计算时,应使用最近使用的值预设输入字段。因此,我尝试fmt:parseNumber
将对象的Double
值解析为Integer
。
首先尝试省略integerOnly = "true"
,但收到错误(因为“1000.0
”不是有效输入,这在我指定pattern="[0-9]"
时是可以理解的。)
但设置integerOnly
后,它会将值从1000.0
更改为10000
。我究竟做错了什么?我怎么解析它来实现我的目标呢?
答案 0 :(得分:1)
如果您使用的是EL 2.2+,则可以通过在Double
对象上调用非getter方法将double转换为整数:
${yourDouble.intValue()}
请参阅: