2012-08-09 85 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來格式化(因爲你的情況下小數位的數目會發生變化)。