润乾报表数字大写转换解决方案

         在制作金融报表,报销单的时候,经常需要将数字转化为大写的文字,有时还需要逐位拆开,制成形如下图的报表:

         润乾报表给出的相关解决方案如下:

         首先为用户提供三种小数转换规则:直接舍弃、直接进位、四舍五入,分别用参数-1,1,和0来表示

             然后构造参数用以保留小数位数,范围为[0,4]超出范围则按临近顺序选取0或4。设置好参数,写入默认值

如下图制表:

 

 

B1格中有一部分冗余校验,isnumber函数判定数据是否是数字,参数@number已经设定格式为数值,润乾会自动校验其格式,B1中的方法可用于从数据库中提取数据做校验。

其中B8单元格的完整内容是=if(B7>13,"万,千,百,十,","") + if(B7>9,"万,千,百,十,","") + "亿,千,百,十,万,千,百,十,元" +  if(B2==1,",.,角","") + if(B2==2,",.,角,分","") + if(B2==3,",.,角,分,厘","") + if(B2==4,",.,角,分,厘,毫","")

B8中的逗号作为B11中的识别符。

B14和B15用来标示“¥”的位置。

函数填写好后,需要设置B11单元格为横向扩展,然后将B10\B14\B15的上主格设置为B11,其余格的上主格要设为'0,即初始格,不扩展。

B3单元格的显示格式设定为if(B2==0,"#0",B2==1,"#0.0",B2==2,"#0.00",B2==3,"#0.000",B2==4,"#0.0000")

B11的隐藏列属性中写入表达式:if(value()==".",true)

B17的显示值属性写入表达式:if(B14 >= 0, mid(value(),B14,B15), B14 == -1,"¥","")

第1行至第15行设置成隐藏行,不显示

B18的显示值要利用润乾报表自带的转换函数,rmb(value())。

调整好B列的宽度之后,程序执行如下:

该方法主要用于将数字拆分,如果单纯需要最下面的大写数字,可以利用B1格中的校验函数以及润乾的rmb()函数,可以大批量地自动转换大写数字。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值