java、freemarker保留两位小数
一、Java保留2位小数
double acc = 22.4322; String accX = String.format("%.2f", acc);
二、freemarker保留两位小数
<#if centerFreeSize??> ${centerFreeSize?string("#.##")} <#else> 0.00 </#if>
补充:freemarker保留小数
freemarker保留两位小数
方法一
#{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>
相关文章
JAVA发送HTTP请求,返回HTTP响应内容,应用及实例代码
这篇文章主要介绍了JAVA发送HTTP请求,返回HTTP响应内容,应用及实例代码,需要的朋友可以参考下2014-02-02idea自带Jacoco/idea自动测试语句覆盖率方法(使用详解)
这篇文章主要介绍了idea自带Jacoco/idea自动测试语句覆盖率方法,本文给大家分享使用方法,通过图文实例相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-04-04使用 Spring Boot 实现 WebSocket实时通信
本篇文章主要介绍了使用 Spring Boot 实现 WebSocket实时通信,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-10-10
最新评论