报销单金额显示
问题描述:
报销单是企业中经常使用的单据,其中金额部分填写必须一一对应,如果报101元钱,那么需要填写的对应是
百 十 元 角 分
1 0 1 0 0
面对困难:
1、小数部分的数字个数最多是多少?
理论上来讲可以无限位数(只要有数据库系统及开发工具支持)。但从目前的币种汇率来看,一般情况下会按四位小数位数来考虑的,又如从目前的银行利息率来考虑,一般也是按四位考虑,比如半年内贷款利率为6.57%即0.0657;所以在你的系统中使用的小数位数个数会超过5位甚至10位。
这种精度一般是为了在计算各种数据时能尽量减少误差,也能减少最终的汇总值的误差,如果这个就按后面讲述原则处理的话,那么汇总值误差会更大了。
2、整数部分位数字个数最多是多少?
世界首富巴菲特资产620亿美金,合人民币大概四千多亿元,其整数部分会达到12位数字,够多了吧?那你如何按”亿百千”等来显示呢?
这个串就是你需要预先定义好,你才能往里面”填写”数字的。
解决方法:
最终的可以使用的子报表格式,涉及到三个参数,将有默认值:
1、number,数值型,要处理的数值数据,默认值0。
2、flag,整型,表明是哪一种数字规格化处理:-1:直接舍弃;0:四舍五入(默认值);1:直接进位。
3、decimaldigits,整型,范围为[0,4],超出范围则采取”就近原则”,默认值2。
传入的参数值非数值时,按0处理。
支持的最大数值:就是rmb()函数可支持的最大数值。但rmb()函数只支持小数点后两位数字。
示例如下:
输入参数:
显示结果: