现在的位置: 首页 > 综合 > 正文

Freemarker数字问题

2013年02月22日 ⁄ 综合 ⁄ 共 1200字 ⁄ 字号 评论关闭
Freemarker数字问题
Interpolation有两种类型:
1.   通用Interpolation${expr}
2.   数字Interpolation#{expr}#{expr; format}
注意:Interpolation只能用于文本部分
n         通用Interpolation
插入字符串值:直接输出表达式结果
插入数字值:根据缺省格式(由#setting指令设置)将表达式结果转换成文本输出;可以使用内建函数string格式化单个Interpolation,下面是一个例子:
<#setting number_format="currency"/><#assign answer=42/>${answer}${answer?string} <#-- the same as ${answer} -->${answer?string.number}${answer?string.currency}${answer?string.percent}
输出结果是:
$42.00$42.0042$42.004,200%
插入日期值:根据缺省格式(由#setting指令设置)将表达式结果转换成文本输出;可以使用内建函数string格式化单个Interpolation,下面是一个使用格式模式的例子:
${lastUpdated?string("yyyy-MM-dd HH:mm:ss zzzz")}${lastUpdated?string("EEE, MMM d, ''yy")}${lastUpdated?string("EEEE, MMMM dd, yyyy, hh:mm:ss a '('zzz')'")} 
输出的结果类似下面的格式:
2003-04-08 21:24:44 Pacific Daylight TimeTue, Apr 8, '03Tuesday, April 08, 2003, 09:24:44 PM (PDT)
插入布尔值:根据缺省格式(由#setting指令设置)将表达式结果转换成文本输出;可以使用内建函数string格式化单个Interpolation,下面是一个例子:
<#assign foo=true/>${foo?string("yes", "no")}
输出结果是:
yes
·       数字Interpolation#{expr; format}形式可以用来格式化数字,format可以是:
mX:小数部分最小X
MX:小数部分最大X
例子:
<#-- If the language is US English the output is: --><#assign x=2.582/><#assign y=4/>#{x; M2}   <#-- 2.58 -->#{y; M2}   <#-- 4    -->#{x; m1}   <#-- 2.6 -->#{y; m1}   <#-- 4.0 -->#{x; m1M2} <#-- 2.58 -->#{y; m1M2} <#-- 4.0 -->

 

抱歉!评论已关闭.