2012-05-09 112 views
7

我在play 2.0模板系統上掙扎了一下;我有一個方法返回scala中的'Int',我想使用模式「#,###」格式化它。如何在Play 2.0模板中格式化數字/日期?

我試圖@order.itemCount().format("#,###")@(order.item.count() format "#,###")但沒有愛。

我不知道是否有在劇中模板語法還是我只需要學習如何在斯卡拉做到這一點是一個把戲了這一點。

回答

6

最直接的方法是使用Java's string formatting

scala> val n = 1000000 
n: Int = 1000000 

scala> "%,d".format(n) 
res0: String = 1,000,000 

這也將處理本地化正確:

scala> String.format(java.util.Locale.ITALY, "%,d", n: java.lang.Integer) 
res1: java.lang.String = 1.000.000 
+0

語法打動我雖然有點不自然,但它確實有訣竅。謝謝! – akbertram

+0

很好,但是如何從模板中獲得正確的語言環境? –

0

這個怎麼樣:

<td>@("%.2f".formatLocal(lang().toLocale(), variable.getAverage()))</td>