显示格式的四舍六入五成双

一、问题描述

在使用润乾设计器时,若单元格内的信息为数值,可能需要使用单元格的”显示格式”这个属性来对数据进行相应位数的舍入。由于该功能使用了java中的java.text.DecimalFormat这个类(使用了欧美金融业界常用的四舍六入无成双的规则)来实现相关的需求。其中有个陷阱(四舍六入无成双并不是bug)需要提醒使用该属性的用户。

二、解决思路

在使用显示格式的时候,同时去使用润乾的自带函数round()来将”四舍六入”变为”四舍五入”。

三、实现步骤

打开一张空白报表,在任意单元格中,本例使用A1单元格,输入4.45,并将其显示格式设置为#.#,可以看到预览结果为4.4,而非我们传统观念中的四舍五入后的结果:4.5。

这是因为显示格式该功能的实现使用了java.text.DecimalFormat,而java.text.DecimalFormat在设计的时候使用了”四舍六入五成双”的观念。若要使用四舍五入可以在单元格中使用round函数:=round(4.45,1),再次预览结果,发现结果变为4.5。

四、结尾总结

在使用润乾报表设计器V4版本时,需要注意单元格属性中的显示格式对数值的舍入并非是”四舍五入”,而是”四舍六入五成双”的规则。若忽视这点,会对终端的客户带来不便或是一些不必要的麻烦。

热门文章