对FreeMarker中数字格式化mX和MX的理解

在学习FreeMarker时,对数字格式化插值产生疑问:

数字格式化插值可采用#{expr;format}形式来格式化数字,其中format可以是: 
mX:小数部分最小X位 
MX:小数部分最大X位 
如下面的例子(网上查的资料): 

<#assign x=2.582/> 
<#assign y=4/> 
#{x; M2} <#-- 输出2.58 --> 
#{y; M2} <#-- 输出4 --> 
#{x; m2} <#-- 输出2.6 --> 
#{y; m2} <#-- 输出4.0 --> 
#{x; m1M2} <#-- 输出2.58 --> 
#{y; m1M2} <#-- 输出4.0 --> 

主要是对中间两个输出值产生了疑问,经过实践发现:#{x; m2}的值应该为2.58,而#{y; m2}的值应该为4.00。

2.6是#{x; m1}的值,4.0是#{y; m1}的值。

同时对两种格式有了更深的理解:mX:小数部分最少要有X位或者只能有X位,不够的自动加0补够,但是超了的话也只会显示X位,多余位数不会显示。MX:小数部分最多有X位,不超出时正常显示,超出时只显示X位。

PS:格式化处理数字时,对超出部分的处理都是四舍五入,而不是截取。

转载于:https://my.oschina.net/ingsky/blog/804478

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值