2012-08-09 79 views
0

我想操纵GSP浮点数,这里就是我想:显示在GSP浮点数的Grails

如果数字为1。*我想它显示了点,但如果它与零结束我不希望它显示点和零。

这样的:

分数:1.5

积分:1

分数:2.1

积分:3

得分变量是浮点数,它是一个在加载数字的gsp上的输入字段,它可以被改变。

但真正的问题是,我如何看到数字是否有小数?

回答

2

已经有用于格式化数字的标签库:(G:formatNumber)

我觉得这样的事情应该工作:

<g:formatNumber number="${score}" type="number" format="###.##"/> 

但是...如果还是不行...

我会说写你自己的自定义taglib。如果它将被多次使用,为什么要遍历控制器中的对象列表,将float更改为一个字符串以显示它?让页面决定如何在适当的上下文中显示它。

或者

瞬态字段添加到域对象(字符串scoreDisplay),然后有getScoreDisplay()返回分数的值作为字符串格式化你怎么想。

1

那么,我建议你在你的控制器中格式化数字 - 在它到达你的gsp之前。这样你可以更好地控制数字格式。一旦你在gsp中,你必须使用Grails的十进制数字格式或make your own taglib来格式化(因为你的情况下小数位的数目会发生变化)。