freemarker中number转换问题解析
来源:互联网 发布:淘宝中国质造加入条件 编辑:程序博客网 时间:2024/06/06 10:38
问题描述:项目开发过程中,freemarker中做数值转换发现个奇怪的问题,参数传值${ (summary.clabsQty)?number} 其中 summary.clabsQty传值0.5最后显示0,传值1.5最后显示2,达不到预想的结果!再不断的实验过程中发现${ (summary.clabsQty+1)?number} 可以达到预想结果:传值0.5最后显示1,传值1.5最后显示2,传值0.4显示0
问题根源:上述的四舍五入都是根据一半原则,往最近的符合数字上靠近,即1.4四舍五入 处于1和2之间靠近1最后的值为1.但是1.5和0.5这种,通过上面的例子可以看到都是往偶数上靠的,即0.5处于0和1之间,靠近偶数0,1.5则靠近偶数2
进一步分析问题:summary.clabsQty+1可以达到预期值.如果单从表面很难理解!!!!summary.clabsQty为0.5,加1以后为1.5,四舍五入应该为2,实际结果确为1...这是因为此处的+1并不是数值相加,而是做的字符串拼接!!!! 本质上是0.51做转换.凑巧在有小数的情况下打破了中间值的均衡!!!summary.clabsQty如果一直都是带小数的上述方式不会出现问题.如果是纯整数则直接把值扩了10倍+1.上述方法还是不可取的
问题总结:不建议做前端的四舍五入,最后后端处理好直接展示!!
1 0
- freemarker中number转换问题解析
- Freemarker中将字符串转换为数字number
- freeMarker 中宏<#macro >解析
- mysql中string和number的转换问题
- freemarker中iframe显示的问题
- freemarker中处理页面自动四舍五入问题
- freemarker中遇到NULL的问题
- Struts2解析FreeMarker模板中变量的顺序
- Oracle中NUMBER类型问题
- Oracle中NUMBER类型问题
- Oracle中NUMBER类型问题
- Oracle中NUMBER类型问题
- oracle 中 number ,char ,date 转换
- 【inernal】oracle中number类型存储解析
- Freemarker 实现类型转换
- Freemarker 实现类型转换
- freemarker类型转换
- Freemarker中的日期转换
- 编程之美-2.11 寻找最近点对
- 计算各种图形的周长
- java synchronized详解
- complex
- SpringMVC的运转流程及代码解析
- freemarker中number转换问题解析
- JavaSE基础之反射
- BZOJ P1027[JSOI2007]合金
- MySQL (9)MySQL 索引原理 B+树
- 封装多种方式的ajax异步方法
- spring装配bean——自动装配bean
- C++中cin,cout进制,数据宽度与对齐,精度,取整
- 一些小问题
- 几种TCP连接中出现RST的情况