欢迎来到天天文库
浏览记录
ID:34318212
大小:202.34 KB
页数:3页
时间:2019-03-05
《人民币大小写数字转换程序的设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、□刘晓华王永云引言民币数字常用的书写形式有二种:一种伯小写金额数字,另一种是汉字大写金O关于这二种数字的使用,在财务管理已有明确规定,不可随意书写。随着会化和办公自动化程度的不断提高,各式发票和收据、银行票据和经济合同等,已度地采用计算机进行打印处理,较人嗎高了票据质量和办公效率。怎样将计算理的阿拉伯数字自动转换成既能符合有,又能满足传统方式所需要的大写金额计算机应用程序设计人员而前的一项至的内容。而且严格地讲,人民币大小三转换过程,不是一个简单的位对位的翻,还要求转换后的结果必须符合《会计人规则》屮的有关规定。用人民币大
2、写的财务票据一般有二种格发票格式和支票格式。以下将根据这二格式的特点,分别介绍其数字转换程序方法。这种格式为填空格式,一般可使用平推式打印机对票据进行定位打印,其应用范围为各种发票或收据。该转换程序相对简单,具体设计可参见“发票用人民币大小写数字转换程序流程图”。程序设计时要注意以下几点:11对小写数字取绝对值在财务结算工作中,票面上的大小写数字都不会出现“负”号这是财务工作的特殊性。根据这种情况,程序屮一定要对被转换数据取绝对值。21取消小数点因被转换的人民币金新数字固定有2位小数,先将被转换数字由数值型向字符型转换,
3、然后利用字符截取等方法将小数点取消。31转换后的数字位数要定长因票面上已印刷有固定的人民币单位,所转换数字的位数未必能与所印刷单位完全匹配,LENGTH变量屮的数值应是票面上单位的个数+1(1为小数点位)。在转换的过程中,小数点取消后,可实现在没有数字的单位前补“零”,从而保证了每个人民币单位前的数据项非空。发票格式的转换41生成人民币大写金额表达式将LENGTH-1作为程序循环次数控制,笫一次循环取出MONEY变量戢右边的1位字符,以后逐发票用人民币大小写数字转换程序流程图使用支票专用打印机或平推式打印机。这种转换程序
4、的设计相对烦杂,票面上没有印刷人民币单位,如根据小写数字的实际位数直接生成人民币大写金额表达式,则可能会在表达式的首位及中间位出现一个或连续一个以上的“零X”,分位也可能是“零”,或角分位同时为“零”的情况,如杲将这样的表达式直接打印输出,虽然结果正确,但会与财会人员的传统习惯不符,效果不尽人意。为了避免这种情况的发生,可将该程序的处理逻辑分为四个部分(详见“支票用人民币大小写数字转换程序流程图O11生成完整的人民币大写金额表达式这部分程序的实现方法同发票格式基本相似,只是毋须限定所转换人民币的数字位长。程序经LENGTH
5、次循环,每次循环:①从RNBDW变量的第BITE*2+1位起,取RMBDW变量的2位字符(人民币单位)+人民币不完整表达式(R1VB1);②将MONEY变量从LENGTH位开始的1位字符转换成数值后*2+1作为RMBJE变量的起始位,取2位字符(与小写字符对应的大写汉字)+人民币不完整表达式(RNB1);③BITE=BITE+1;@LENGTH=LENGTH-1;(§M复执行④,直至生成完整的不定长的人民币大写金额表达式(RM31)o21取消表达式字头的“零元”或“零角”在人民币表达式的数值小于1元或1角时,因阿拉伯数字
6、由数值型向字符型转换并取消小数点时,MONEY变量可能会出现“0XX”或“00X”(“X”―可拉伯数字的1〜9),这些字符被转换后,便会形成“零元X角X分”或“零元零角X分”(“X”一字大写数字的壹〜玖),故当出现此类情况时,应首先将这些含“零”字符取消。取消的方法比较简单:程序可分二次判断大写人民币金额表达式(RW1)的左起4位字符是否等于“零元”或“零角”,如含有该字符,则截取表达式RW1变量;不含有该字符,程序继续向下执行。31取消人民币大写金额表达式中间的“零X”经上述处理,得到人民币大写金额表达式(RNB1),此
7、时应以R1VB1变量的字符长度进行循坏,检测RW1变量中是否存在着“零X”海次检测2个汉字(循环增量为4)。当BFIE8、”/“元”。③镀后判断RW2变量右边的2位字符是否为“零”洛,则RMB2=RIVB2+“零”。⑪ITE=BHE+4。虽复执行S妙,直至人民币大写金额表达式中间的“零亿”/“零万”/“零元”全部消如果人民币大写金额表达式R1VB2变量右边的2位字符为“零”,则托“整”字去替拟“零”;否则,转换工作即告纣束
8、”/“元”。③镀后判断RW2变量右边的2位字符是否为“零”洛,则RMB2=RIVB2+“零”。⑪ITE=BHE+4。虽复执行S妙,直至人民币大写金额表达式中间的“零亿”/“零万”/“零元”全部消如果人民币大写金额表达式R1VB2变量右边的2位字符为“零”,则托“整”字去替拟“零”;否则,转换工作即告纣束
此文档下载收益归作者所有