转载至:
自定义无穷大∞的显示内容-http://help.finereport.com/doc-view-1771.html
1. 问题概述
我们知道,在报表设计时,有时涉及到除法运算,如果除数为0,被除数不为0,则结果为无穷大∞。
如下面这样1/0=∞
这样显示没有错,可在实际应用中,有时需求不愿意看到这种不“人性化”的结果。
为了避免结果为无穷大,通常的做法是用很多的if条件判断除数是否为0,为0提示错误,否则提示无法计算或除数错误,如这个报表中:
为了避免C2计算结果为无穷大,我们需要用公式进行判断
当B2为0时,C2会提示can't caculate,无法计算。
这样虽然能解决问题,但是在实际应用中,报表中可能涉及到很多这样的计算,如果一个个输公式,未免效率太低,特别是涉及复杂的财务、统计类计算时,为了避免出现不人性化的都希望对这种情况进行处理,比如除数为0或者除数被除数都为0的情况下不做计算等等。
2. 解决方案
在帆软报表中,无穷大∞对应的真实值其实是是Infinity,这样可以利用条件属性或者单元格形态等方法来自定义这样出错的显示值。
注:Infinity第一字母必须大写,小写或其他写法无效
模板设计如下图所示:
在可能计算值为无穷大∞的单元格右击设置条件属性>新值,比如C2单元格,条件为当前值为Infinity,新值为出现无穷大时的显示值,比如这里显示0。
保存后,效果如下图所示:
同时,这样做的一个好处是利用条件属性可以批量设置,也就是说在模板中出现多个可能计算结果为无穷大的地方,我们只需要全部选中,右键选择条件属性,都可以一次性设置成功,不需要反复利用if公式来判断了,可以省下很多时间,大大提高我们的开发效率。