scala - 在 Play 2 模板中格式化 double 的正确方法是什么

标签 scala playframework-2.0

这是我从 Play 2 模板中提取的缩写代码...

@(variable: com.mypackage.Variable) 

<div class='statsbody'>
    <div class='statsform'>
        <label>Average:</label>
        <span>@"%.2f".format(variable.getAverage())</span>
    </div>
</div>

编译错误:

`identifier' expected but `"' found

我从 this question 得到了上面的想法,它说明了如何在 scala 命令提示符下执行此操作,这很棒,但在模板中不起作用。

getAverage() 方法属于我正在使用的外部 Java 包,它返回一个原始的 double。这一切工作正常,没有格式我可以愉快地显示正确的数字。

我尝试了多种替代方法,包括使用静态 Java 字符串格式化方法...

@String.format("%.2f", variable.getAverage())

...给了

Overloaded method value [format] cannot be applied to (String, Double)

所以我的问题是,在 Play 2 模板中格式化替身的正确方法是什么?我知道我可能会使用 Javascript,但我想知道是否有针对此问题的 Play/Scala 解决方案。

最佳答案

使用括号:

@("%.2f".format(variable.getAverage()))

或:

@{
  "%.2f".format(variable.getAverage())
  //more scala code
}

它允许您在模板中编写多语句 scala 代码。

关于scala - 在 Play 2 模板中格式化 double 的正确方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16878747/

相关文章:

java - 提取 DBPedia Dump 期间 DBPedia 提取框架失败

scala - 如何通过scala中类型参数的类型成员来约束参数?

azure - 如何设置 Spark Kusto 连接器写入轮询间隔?

playframework-2.0 - Play框架模板编译错误

sql - 在Anorm中保存新对象时如何检索主键

scala3 扩展方法类型参数

scala - 不带任何参数的高阶函数正在解析

java - 尽管定义正确,但 Play 框架路由无法正常工作

scala - 如何在 Scala Play 2.0 应用程序中异步使用 Java 库?

scala - 条件路由/路由和Play 2.0