以 gsp 为单位显示浮点数圣杯



我想在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 来格式化(因为小数位数在您的案例中会发生变化)。

最新更新