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