比较Freemarker中字符串中的数值

时间:2016-10-03 21:00:35

标签: string integer compare freemarker

我有一个用例,其中我以字符串的形式获得金额,我需要将其与整数值进行比较。该字符串具有以下条件:  它的前三个字母表示货币  2.字符串可以由逗号组成 对于例如540,000欧元表示540000欧元。

我能想到的一种方法是:

1使用?substring

从4rth字符中获取子字符串

2使用?replace

删除逗号

3使用?number

转换为整数

4然后比较

有没有更清洁的方法来实现这一目标?

1 个答案:

答案 0 :(得分:1)

您可以将其封装到#functionTemplateMethodModelEx中。但实际上,您使用的数据模型(模板上下文)相当奇怪。特别是如果模板应该进行数学运算,你应该得到数字(如BigDecimal - s或Integer - s),而不是那些字符串。所以我会在将数据模型传递给模板之前尝试清理数据模型。那是干净的解决方案。