Freemarker 是否将哈希字符串转换为格式化的数字?
我正在尝试从GeoServer中的模板中输出更漂亮的数字:Freemarker 是否将哈希字符串转换为格式化的数字?,freemarker,Freemarker,我正在尝试从GeoServer中的模板中输出更漂亮的数字: <#list features as feature> <#if attribute.name="lon" || attribute.name="lat"> <td>${feature[attribute.name].value?round}</td> <#else> <
<#list features as feature>
<#if attribute.name="lon" || attribute.name="lat">
<td>${feature[attribute.name].value?round}</td>
<#else>
<td>${feature[attribute.name].value}</td>
</#if>
</#list>
但是那些人抱怨“期望的散列”,所以我觉得这只是一个语法问题,将散列中的字符串正确地传递给
?
操作符,这样我就可以在字符串上执行方法了。。。但这让我很困惑。如果你总是想要4个小数:
${feature[attribute.name].value?string("0.0000")}
如果最多需要4位小数,则?字符串(“0.######”)
只有当
值
是字符串时,才需要数字部分。在这种情况下,您应该编写[…].value?number?字符串(“0.0000”)
。没有?number.string这样的东西,因此会出现“预期哈希”错误消息。如果您总是需要4位小数:
${feature[attribute.name].value?string("0.0000")}
如果最多需要4位小数,则?字符串(“0.######”)
只有当值
是字符串时,才需要数字部分。在这种情况下,您应该编写[…].value?number?字符串(“0.0000”)
。没有?number.string
,因此出现了“预期哈希”错误消息。请尝试:${((功能[attribute.name].value*10000)?round)/10000}尝试:${((功能[attribute.name].value*10000)?round)/10000}