当前位置: 首页 > 编程笔记 >

java、freemarker保留两位小数

龚凯泽
2023-03-14
本文向大家介绍java、freemarker保留两位小数,包括了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保留两位小数的几种写法总结,包括了Java保留两位小数的几种写法总结的使用技巧和注意事项,需要的朋友参考一下 本文列举了几个方法:      1. 使用java.math.BigDecimal      2. 使用java.text.DecimalFormat      3. 使用java.text.NumberFormat      4. 使用java.util.Forma

  • 我想四舍五入任何双到一个字符串2小数位在Java。我尝试过使用十进制格式,但它没有给出预期的结果。任何帮助将不胜感激。 Ex: I/P:3402100.5323 我想将其转换为: O/P: 34.02 我尝试过使用DecimalFormat(“###,##,##,###0.00”,新的DecimalFormatSymbols(Locale.US))但结果是340210.53,而我希望它输出34.0

  • 本文向大家介绍js实现四舍五入完全保留两位小数的方法,包括了js实现四舍五入完全保留两位小数的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js实现四舍五入完全保留两位小数的方法。分享给大家供大家参考,具体如下: 更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数学运算用法总结》、《JavaScript中json操作技巧总结》、《JavaScri

  • 因此,我目前正在尝试找出,如果提供的数据模型不包含标记,是否可以保留该值。我知道,但这不适用于FreeMarker标记。 基本上,我想做的是:

  • 本文向大家介绍实现js保留小数点后N位的代码,包括了实现js保留小数点后N位的代码的使用技巧和注意事项,需要的朋友参考一下 在JS中,一般实现保留小数点后N位的话,都是利用toFixed函数 四舍五入的转换函数,如下: 参数里的: v表示要转换的值 e表示要保留的位数 函数里的两个for,这个是重点了, 第一个for针对小数点右边的情况,也就是保留小数点右边多少位; 第二个for针对小数点左边的情

  • 本文向大家介绍小程序使用wxs解决wxml保留2位小数问题,包括了小程序使用wxs解决wxml保留2位小数问题的使用技巧和注意事项,需要的朋友参考一下 1.出现溢出表现 从图中可以看到数字超出了很长长度。代码里面是如下这样的。为什么在0.35出现?或者一些相成的计算出现? 而 0.34却不会。 0.41 也会出现,好像是二进制运算出现结果。 wxml文件仅仅是处理一个相处的结果。 2.在wxml文