2017-02-10 67 views
1

我使用freemarker引擎(第一次接触到它)在Netsuite中创建一个快速模板,并且我正在努力寻找执行以下操作的正确语法。变量创建问题

我有以下2个变量

item.rate & item.custcol_uom

我需要做下面的

${formatAmount(item.rate/item.custcol_uom,"currency",".")} 

任何援助将不胜感激。

回答

2

的Freemarker提供了多种格式的指令进行数字包括货币

${(item.rate/item.custcol_uom)?string.currency} 

检查文档在这里:http://freemarker.org/docs/ref_builtins_number.html

如果由于某种原因,你更喜欢使用方法formatAmount()你应该把它暴露在freemarker的发动机

另一种解决方案是创建一个免费标记macro

<@macro format_amount rate uom > 
    <#-- stuff here --> 
</@macro> 

比叫它

<@s.format_amount rate=item.rate uom=item.custcol_uom /> 

宏在freemarker中:http://freemarker.org/docs/ref_directive_macro.html

希望这有助于。

+0

这很好,非常感谢!想想我会坚持现在这样做的顶级方式,但欣赏额外的细节。 – user1372212

+0

有没有简单的方法来控制所应用的货币符号? – user1372212

+0

如果你的格式化符合给定语言环境(货币,小数点和千位格式,日期等),使用下面的代码:<#setting locale =“en_US”> – fustaki