"[图片] 填报表最后一项平均值是自动计算的,但是保留两位最后一项应该是 3.56,结果没有进位,我是在显示格式上设置的,我也试了在表达式中用 round()函数,但是预览时会提示函数未定义,是 .."
填报表最后一项平均值是自动计算的,但是保留两位最后一项应该是 3.56,结果没有进位,我是在显示格式上设置的,我也试了在表达式中用 round()函数,但是预览时会提示函数未定义,是不是填报表不能用表达式?
这个是 java 或者是 js 里浮点数计算精度导致的,报表自动计算用的 js 函数,你可以在 js 里写个 35.55/10, 这个结果应该是 3.5549999999,所以在报表中如果再用显示格式的话,那个第三位是 4,所以后边都舍去了。填报表中如果想使用函数,要用 javascript 中函数,可以在你原来的计算结果后加个.toFixed(2),这个是保留两位小数,但是就像之前说的,由于浮点数问题,这个返回的也是 3.55,可以这么处理下 先.toFixed(3),保留三位小数,然后在设置显示格式保留两位小数,这样应该可以。
解决了,感谢
这个是 java 或者是 js 里浮点数计算精度导致的,报表自动计算用的 js 函数,你可以在 js 里写个 35.55/10, 这个结果应该是 3.5549999999,所以在报表中如果再用显示格式的话,那个第三位是 4,所以后边都舍去了。
填报表中如果想使用函数,要用 javascript 中函数,可以在你原来的计算结果后加个.toFixed(2),这个是保留两位小数,但是就像之前说的,由于浮点数问题,这个返回的也是 3.55,可以这么处理下 先.toFixed(3),保留三位小数,然后在设置显示格式保留两位小数,这样应该可以。
解决了,感谢