23

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

有什么建议么?

4

4 回答 4

36

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

这对我不起作用:

<#assign num = numString?number>

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

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

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

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

于 2012-06-07T11:36:35.807 回答
2

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

<#if num >

你应该改用

<#if num gt 100>

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

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

于 2018-09-27T23:34:28.420 回答
1

我认为您可以像这样使用它:string?eval

于 2012-11-01T07:07:49.997 回答
0

使用下面的代码

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

它对我有用。

于 2018-09-26T09:39:37.563 回答