2012-05-09 12 views
7

Estoy luchando un poco con el sistema de plantillas play 2.0; Tengo un método que devuelve lo que en scala es un 'Int' y quiero formatearlo usando el patrón "#, ###".cómo formatear un número/fecha en la plantilla de play 2.0?

He intentado @order.itemCount().format("#,###") y @(order.item.count() format "#,###") pero no amo.

No estoy seguro de si hay un truco para esto en la sintaxis de la plantilla de juego o si solo necesito aprender a hacerlo en Scala.

Respuesta

6

El enfoque más sencillo sería utilizar Java's string formatting:

scala> val n = 1000000 
n: Int = 1000000 

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

Esto también se encargará de la localización correcta:

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

La sintaxis me parece como un poco antinatural, pero sin duda hace el truco. ¡Gracias! – akbertram

+0

Bien, pero ¿cómo se obtiene la configuración regional correcta dentro de una plantilla? –

0

¿Qué pasa con éste:

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