【问题标题】:how to format a number/date in play 2.0 template?如何在 play 2.0 模板中格式化数字/日期?
【发布时间】:2012-05-17 21:52:15
【问题描述】:

我对 play 2.0 模板系统有点吃力;我有一个方法可以返回 scala 中的“Int”,我想使用“#,###”模式对其进行格式化。

我试过@order.itemCount().format("#,###")@( order.item.count() format "#,###" ) 但没有爱。

我不确定在播放模板语法中是否有这个技巧,或者我是否只需要学习如何在 Scala 中做到这一点。

【问题讨论】:

    标签: scala playframework-2.0


    【解决方案1】:

    最直接的方法是使用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
    

    【讨论】:

    • 语法让我觉得有点不自然,但它确实可以解决问题。谢谢!
    • 很好,但是如何从模板中获取正确的语言环境?
    【解决方案2】:

    这个呢:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-01
      • 2016-03-23
      • 2016-12-09
      • 1970-01-01
      • 1970-01-01
      • 2018-05-21
      • 2013-09-05
      相关资源
      最近更新 更多