这是我从 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/