我想在gsp中操纵浮点数,这是我想要的:
如果数字有 1.*,我希望它显示点,但如果它以零结尾,我不希望它显示点和零。
喜欢这个:
成绩: 1.5
成绩: 1
成绩: 2.1
成绩: 3
分数变量是一个浮点数,它是 gsp 上的输入字段,用于加载数字并且可以更改。
但真正的问题是,我怎么能看到这个数字是否有小数?
已经有一个用于格式化数字的标签库:(g:formatNumber)
我认为这样的事情应该有效:
<g:formatNumber number="${score}" type="number" format="###.##"/>
但。。。如果这不起作用...
我会说编写您自己的自定义标签库。 如果它是要多次使用的东西,为什么要遍历控制器中的对象列表,将浮点数更改为字符串只是为了显示它? 让页面决定如何在适当的上下文中显示它。
或
将瞬态字段添加到域对象(字符串 scoreDisplay),然后让 getScoreDisplay() 以字符串形式返回 score 的值,并按照您想要的方式格式化。
好吧,我建议您在控制器中格式化数字 - 在它到达您的 gsp 之前。这样,您就可以更好地控制数字格式。进入 gsp 后,您必须使用 grails 的十进制数字格式或制作自己的 taglib 来格式化(因为小数位数在您的案例中会发生变化)。