NetSuite Advanced PDF/HTML 磅转千克重量转换实现问题求助
NetSuite Advanced PDF/HTML 模板磅转千克实现方案
错误原因
你之前的赋值方式不符合NetSuite高级PDF模板底层使用的FreeMarker语法规则,变量定义必须使用<#assign>标签声明,不能直接在模板插值${}外直接写赋值语句。
正确实现步骤
- 第一步:声明转换系数变量
<#assign lbs_to_kgs_factor = 2.205 />
- 第二步:执行转换计算,同时增加空值兼容处理避免item.lbs为空的异常
如果需要保留2位小数展示,使用如下写法:
${(item.lbs!0 / lbs_to_kgs_factor)?string(",##0.00")} kgs
如果需要更多小数位,调整string参数里的小数位规则即可,比如保留3位就写",##0.000
简化写法(无需提前声明变量)
如果不需要复用转换系数,也可以直接在插值内写公式,同样兼容空值:
${(item.lbs!0 / 2.205)?string(",##0.00")} kgs
注意事项
如果item.lbs字段为文本类型时,需要先转成数值再计算,写法调整为:
${(item.lbs?number!0 / 2.205)?string(",##0.00")} kgs
所有计算逻辑必须包裹在${}插值符号内,自定义变量必须用<#assign>提前声明。
内容的提问来源于stack exchange,提问作者porsche
相关产品推荐
相关产品推荐

