最近看到小伙伴们在做财务报表的时候,遇到了人民币金额大写转换的问题!
FR中有一个函数是这样的
- CNMONEY(number,unit)返回人民币大写。number:需要转换的数值型的数。unit:单位,"s","b","q","w","sw","bw","qw","y","sy","by","qy","wy"分别代表“拾”,“佰”,“仟”,“万”,“拾万”,“佰万”,“仟万”,“亿”,“拾亿”,“佰亿”,“仟亿”,“万亿”。备注: 单位可以为空,如果为空,则直接将number转换为人民币大写,否则先将number与单位的进制相乘,然后再将相乘的结果转换为人民币大写。示例:CNMONEY(1200)等于壹仟贰佰圆整。CNMONEY(12.5,"w")等于壹拾贰万伍仟圆整。CNMONEY(56.3478,"bw")等于伍仟陆佰叁拾肆万柒仟捌佰圆整。CNMONEY(3.4567,"y")等于叁亿肆仟伍佰陆拾柒万圆整。
复制代码 ,但是实际使用过程中,发现如果金额中间有0,并不会在转换完成的结果中带上“零”字,如14905894.32使用内置CNMONEY函数的结果为“壹仟肆佰玖拾万伍仟捌佰玖拾肆圆叁角贰分”,而实际结果应为“壹仟肆佰玖拾万零伍仟捌佰玖拾肆元叁角贰分”。
为满足此等需求,遂开发自定义函数以满足使用。
上图看一下效果先:
设计器设计效果(C2单元格中为我自定义函数的名称)
预览效果为:
使用方式请按照如下步骤进行操作:
1、下载附件《customize.zip》,拷贝到你本地设计器或者服务器项目的 webroot\WEB-INF\classes\com\fr\function 路径下,直接解压此目录,解压后效果如图:
2、于 服务器-函数管理器 中添加此class文件。
点击服务器-函数管理器
点击“+”按钮,添加一个函数,点击右边的“选择”
选择目录com\fr\function\customize 下的NumberToCN.class 文件,点击“确定”,然后可双击左方的函数名称位,可自定义名称,我这里定义为“numtocn”,之后点击右下角的“确定”
3、重启设计器/tomcat等web服务器服务,之后进入公式环境,可在“自定义函数”下看到添加好的函数,此时即可直接像FR正常函数一样使用。
此时,即可实现开篇的效果,因为不太了解财务,目前只做了这一块,番薯们试用以后如果有不满足需求的地方,可回帖评论,我会尽快修改。
给钱打赏F币可尽快修改哦
编辑于 2019-8-22 00:12
编辑于 2019-8-22 00:19
|