【问题标题】:How to Convert a string to number in freemarker template如何在freemarker模板中将字符串转换为数字
【发布时间】:2012-06-11 06:43:49
【问题描述】:

我想在 freemarker 中将字符串转换为数字。我想根据数字的值进行一些条件检查。 ?number 似乎不起作用。

有什么建议吗?

【问题讨论】:

  • 请更具体地说明您在做什么、如何操作和版本 --number 对我来说很好。

标签: freemarker


【解决方案1】:

抱歉,?number 工作正常。我无法将转换后的数字与另一个数字进行比较。

这对我不起作用:

<#assign num = numString?number>

<#if num > 100>
</#if>

当我将 (num > 100) 括在括号内时,它起作用了:

<#if (num > 100)>
</#if>

由于比较不起作用,我假设没有发生转换。 我的错。

【讨论】:

  • &lt;#if num &gt; 应该给出一个错误,指出该值必须是一个数字,但它是一个数字。
  • 是否可以像这样转换数字:freemarker 中的 1,000 到 1000 ?
  • Freemarker 不喜欢普通的 > 和 Freemarker Manual
  • @Mady 和其他人:你可能需要两者:value?c?number
【解决方案2】:

我觉得你可以这样使用:string?eval

【讨论】:

    【解决方案3】:

    使用下面的代码

    <#if num?string > 100?string>
    </#if>
    

    它对我有用。

    【讨论】:

      【解决方案4】:

      在您的代码中,您使用了右括号,因此 freemarker 正在评估

      <#if num >
      

      你应该改用

      <#if num gt 100>
      

      这在本文档末尾的 if 语句中进行了讨论 https://freemarker.apache.org/docs/ref_directive_if.html

      这适用于某些人而不适用于其他人的原因是括号,这也在文档底部进行了解释

      【讨论】:

        猜你喜欢
        • 2016-10-13
        • 1970-01-01
        • 2016-05-27
        • 2018-04-20
        • 2016-11-28
        • 2015-05-24
        相关资源
        最近更新 更多