freemaker string.percent怎么保留两位小数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了freemaker string.percent怎么保留两位小数相关的知识,希望对你有一定的参考价值。

reemarker保留两位小数
方法一
#number ;m1M2 m 最少几位小数,M最多几位小数
方法二
$x?string("0.##")

在开发中很容易忽视一点,输入一个值(可能是小数),输出时如果不做处理,就很容易出现
隐形的BUG。比如,如果从数据库取出一个0.22的数值,一般的输出$x?if_exists?html,
这时是显示0,而不是0.22。
应该写成$x?if_exists?string.number 或者 $x?if_exists.toString()?html

1, 小于1的数字在freemarker中相减错误
2,1000,2000这类的数字在freemarker中的格式错误,会被解释成1,000
解决方法设置number在freemarker的显示格式
Xml代码
<#setting number_format="0.00">
<#assign x="$goodsgroupt.memberprice"/>
<#assign y="$goodsgroupt.groupprice"/>
$(x?number-y?number)
重点就是这个number_format了
网上说让number_format="0",这样只能解决第二种情况。

四、局部设置
特点:
如果在某个页面,或者某几个页面(其它页面可import进来),用到的数字格式化是相同的,可考虑统一配置数字的格式化形式
用法:
只需在用到需要格式化的数字之前 设置就可以了,格式如下: <#setting number_format=",##0.##"> 其中",##0.##"的内容是采用类似于Java中数字格式的语法形式,也就是以上的第三点。
注意:
如果用在一个页面,则整个页面默认就是那种格式,除非用string函数覆盖了默认的格式,同样的,如果放在一个公共的页面,其它页面只要include它,也会是同样的格式。
五、全局设置
特点:
在所有的页面都默认提供数字的格式化形式
用法
(针对spring):在freemarker的配置文件中设置其默认的数字格式化形式,如下:
代码如下复制代码< property name = "freemarkerSettings" >
< props>
.....
< prop key = "number_format"> 0.## </prop >
......
</props>
< /property>
参考技术A 试试这个,亲测可用
number?string("0.00#%")

在freemarker中,价格 怎么将¥100变成 ¥100.00

${tempNum?string.currency}或${tempNum?string(“currency”)} à结果为¥20.00
${tempNum?string. percent}或${tempNum?string(“percent”)} à结果为2,000%

详细:http://my.oschina.net/u/2297250/blog/367741

亲自试验过,${productEntity.costPrice?string.currency}  currency  能自动四舍五入

以上是关于freemaker string.percent怎么保留两位小数的主要内容,如果未能解决你的问题,请参考以下文章

在freemarker中,价格 怎么将¥100变成 ¥100.00

Freemaker模板指令

Freemaker_入门+深入+开发指南+学习笔记

freemaker模板引擎使用详解

freemaker 快速入门

freemaker