我正在尝试测试是否可以在 FreeMarker 中将字符串转换为数字。例如,“123”和“3.14”可以转换,但“foo”不能。我知道我可以通过在字符串上使用 number 方法(例如 "123"?number
)并查看它是否会产生错误来对此进行测试,但我正在寻找一种方法来对此进行测试而不会导致错误。
我试过 ?matches("^\d+$")
,它适用于整数,但我正在寻找适用于所有数字的东西。
我可能可以使用更复杂的正则表达式来完成,但我想知道是否有更简单的方法。
最佳答案
更简单的方法是不要在 FreeMarker 中执行 :-) 这听起来像是 Controller (或模型上的方法)应该做的事情,而不是 View 模板。也就是说,您有几个选择:
<#attempt> / <#recover>
块中内置的 ?number。 关于freemarker - 测试字符串是否可以在 FreeMarker 中转换为数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1474274/