2012-05-09 11 views
7

私はプレイ2.0テンプレートシステムで少し苦労しています。私はscalaのものが 'Int'であるものを返すメソッドを持っており、パターン "#、###"を使用してフォーマットしたいと思います。プレイ2.0テンプレートの数値/日付の書式設定方法は?

私は@order.itemCount().format("#,###")@(order.item.count() format "#,###")を試しましたが、愛はありません。

プレイテンプレートの構文でこれがうまくいかない場合や、Scalaでこれを行う方法を学ぶ必要があるかどうかはわかりません。

答えて

6

最も簡単なアプローチはJava's string formattingを使用することです:

scala> val n = 1000000 
n: Int = 1000000 

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

また、これは正しくローカライズを処理します:

この1についてどう
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> 
関連する問題