为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

大小写金额转换

2017-09-01 12页 doc 32KB 41阅读

用户头像

is_314871

暂无简介

举报
大小写金额转换大小写金额转换 *大小写金额转换 DATA: L_DXSTR(60). "大写金额 DATA: HJ_JFJE LIKE BSEG-WRBTR. "小写金额 HJ_JFJE = '234687.88'. PERFORM XX_CHANGE_DX USING HJ_JFJE CHANGING L_DXSTR. * FORM XX_CHANGE_DX using val changing dxstr. DATA: ZS(15). DATA: XS(15). DATA: STR(15). DATA: LEN T...
大小写金额转换
大小写金额转换 *大小写金额转换 DATA: L_DXSTR(60). "大写金额 DATA: HJ_JFJE LIKE BSEG-WRBTR. "小写金额 HJ_JFJE = '234687.88'. PERFORM XX_CHANGE_DX USING HJ_JFJE CHANGING L_DXSTR. * FORM XX_CHANGE_DX using val changing dxstr. DATA: ZS(15). DATA: XS(15). DATA: STR(15). DATA: LEN TYPE I VALUE 0. DATA: CIS TYPE I VALUE 0. DATA: SS(2). DATA: RR(1). DATA: STRR(15). DATA: change(30) TYPE C VALUE '1壹2贰3叁4肆5伍6陆7柒8捌9玖0零'. CLEAR DXSTR. MOVE VAL TO STR. SHIFT STR LEFT DELETING LEADING SPACE. SPLIT STR AT '.' INTO ZS XS. LEN = STRLEN( ZS ). CLEAR STRR. CIS = LEN - 1. DO LEN TIMES. MOVE ZS+CIS(1) TO RR. CONCATENATE STRR RR INTO STRR. CIS = CIS - 1. ENDDO. CIS = 0. DO LEN TIMES. MOVE STRR+CIS(1) TO SS. TRANSLATE SS USING change. CASE CIS. WHEN 0. CONCATENATE SS '元' INTO DXSTR. WHEN 1. CONCATENATE SS '拾' DXSTR INTO DXSTR. WHEN 2. CONCATENATE SS '佰' DXSTR INTO DXSTR. WHEN 3. CONCATENATE SS '仟' DXSTR INTO DXSTR. WHEN 4. CONCATENATE SS '万' DXSTR INTO DXSTR. WHEN 5. CONCATENATE SS '拾' DXSTR INTO DXSTR. WHEN 6. CONCATENATE SS '佰' DXSTR INTO DXSTR. WHEN 7. CONCATENATE SS '仟' DXSTR INTO DXSTR. WHEN 8. CONCATENATE SS '亿' DXSTR INTO DXSTR. WHEN 9. CONCATENATE SS '拾' DXSTR INTO DXSTR. WHEN 10. CONCATENATE SS '百' DXSTR INTO DXSTR. WHEN 11. CONCATENATE SS '仟' DXSTR INTO DXSTR. ENDCASE. CIS = CIS + 1. ENDDO. CLEAR SS. IF XS <> '00'. MOVE XS+0(1) TO SS. TRANSLATE SS USING change. CONCATENATE DXSTR SS '角' INTO DXSTR. MOVE XS+1(1) TO SS. TRANSLATE SS USING change. CONCATENATE DXSTR SS '分' INTO DXSTR. ENDIF. CONCATENATE DXSTR '整' INTO DXSTR. ENDFORM. " XX_CHANGE_DX 我的程序写的比较粗糙,转换方法比较笨。大家将就着看,我不高兴写注释了。如果有什么好的建议或方法,请回复,彼此交流。 FUNCTION z_xjq_rmbdx. *"---------------------------------------------------------------------- *"*"Local interface: *" IMPORTING *" REFERENCE(RMBXX) LIKE BSEG-WRBTR *" CHANGING *" REFERENCE(RMBDX1) TYPE C *"---------------------------------------------------------------------- DATA: BEGIN OF rmb, by TYPE c, sy TYPE c, y TYPE c, qw TYPE c, bw TYPE c, sw TYPE c, w TYPE c, q TYPE c, b TYPE c, s TYPE c, g TYPE c, d TYPE c, j TYPE c, f TYPE c, n TYPE c, END OF rmb. DATA: BEGIN OF rmbdx, by(2) TYPE c, by1(4) TYPE c, sy(2) TYPE c, sy1(4) TYPE c, y(2) TYPE c, y1(2) TYPE c, qw(2) TYPE c, qw1(4) TYPE c, bw(2) TYPE c, bw1(4) TYPE c, sw(2) TYPE c, sw1(4) TYPE c, w(2) TYPE c, w1(4) TYPE c, q(2) TYPE c, q1(4) TYPE c, b(2) TYPE c, b1(4) TYPE c, s(2) TYPE c, s1(4) TYPE c, g(2) TYPE c, d(2) TYPE c, j(2) TYPE c, j1(2) TYPE c, f(2) TYPE c, f1(2) TYPE c, z(2) TYPE c, END OF rmbdx. DATA: y(1) TYPE c. rmb = rmbxx. IF NOT ( rmb-by IS INITIAL ) AND rmb-by NE '0'. PERFORM dx USING rmb-by CHANGING rmbdx-by. y = 'X'. IF rmb-by NE '0'. IF rmb-sy EQ '0' AND rmb-y EQ '0'. rmbdx-by1 = '佰亿'. ELSE. rmbdx-by1 = '佰'. ENDIF. ENDIF. ENDIF. IF NOT ( rmb-sy IS INITIAL ). IF rmb-sy NE '0' OR rmb-y NE '0'. PERFORM dx USING rmb-sy CHANGING rmbdx-sy. y = 'X'. IF rmb-sy NE '0'. IF rmb-y EQ '0'. rmbdx-sy1 = '拾亿'. ELSE. rmbdx-sy1 = '拾'. ENDIF. ENDIF. ENDIF. ENDIF. IF NOT ( rmb-y IS INITIAL ). IF rmb-y NE '0' OR rmb-qw NE '0'. PERFORM dx USING rmb-y CHANGING rmbdx-y. y = 'X'. IF rmb-y NE '0'. rmbdx-y1 = '亿'. ENDIF. ENDIF. ENDIF. IF NOT ( rmb-qw IS INITIAL ). IF rmb-qw NE '0' OR rmb-bw NE '0'. PERFORM dx USING rmb-qw CHANGING rmbdx-qw. y = 'X'. IF rmb-qw NE '0'. IF rmb-bw EQ '0' AND rmb-sw EQ '0' AND rmb-w EQ '0'. rmbdx-qw1 = '仟万'. ELSE. rmbdx-qw1 = '仟'. ENDIF. ENDIF. ENDIF. ENDIF. IF NOT ( rmb-bw IS INITIAL ). IF rmb-bw NE '0' OR rmb-sw NE '0'. PERFORM dx USING rmb-bw CHANGING rmbdx-bw. y = 'X'. IF rmb-bw NE '0'. IF rmb-sw EQ '0' AND rmb-w EQ '0'. rmbdx-bw1 = '佰万'. ELSE. rmbdx-bw1 = '佰'. ENDIF. ENDIF. ENDIF. ENDIF. IF NOT ( rmb-sw IS INITIAL ). IF rmb-sw NE'0' OR rmb-w NE '0'. PERFORM dx USING rmb-sw CHANGING rmbdx-sw. y = 'X'. IF rmb-sw NE '0'. IF rmb-w EQ '0'. rmbdx-sw1 = '拾万'. ELSE. rmbdx-sw1 = '拾'. ENDIF. ENDIF. ENDIF. ENDIF. IF NOT ( rmb-w IS INITIAL ). IF rmb-w NE '0' OR rmb-q NE '0'. PERFORM dx USING rmb-w CHANGING rmbdx-w. y = 'X'. IF rmb-w NE '0'. rmbdx-w1 = '万'. ENDIF. ENDIF. ENDIF. IF NOT ( rmb-q IS INITIAL ). IF rmb-q NE '0' OR rmb-b NE '0'. PERFORM dx USING rmb-q CHANGING rmbdx-q. y = 'X'. IF rmb-q NE '0'. rmbdx-q1 = '仟'. ENDIF. ENDIF. ENDIF. IF NOT ( rmb-b IS INITIAL ). IF rmb-b NE '0' OR rmb-s NE '0'. PERFORM dx USING rmb-b CHANGING rmbdx-b. y = 'X'. IF rmb-b NE '0'. rmbdx-b1 = '佰'. ENDIF. ENDIF. ENDIF. IF NOT ( rmb-s IS INITIAL ). IF rmb-s NE'0' OR rmb-g NE '0'. PERFORM dx USING rmb-s CHANGING rmbdx-s. y = 'X'. IF rmb-s NE '0'. rmbdx-s1 = '拾'. ENDIF. ENDIF. ENDIF. IF NOT ( rmb-g IS INITIAL ) AND rmb-g NE '0'. PERFORM dx USING rmb-g CHANGING rmbdx-g. y = 'X'. ENDIF. IF y EQ 'X'. rmbdx-d = '圆'. ENDIF. IF NOT ( rmb-j IS INITIAL ) AND rmb-j NE '0'. PERFORM dx USING rmb-j CHANGING rmbdx-j. rmbdx-j1 = '角'. ENDIF. IF NOT ( rmb-f IS INITIAL ) AND rmb-f NE '0'. PERFORM dx USING rmb-f CHANGING rmbdx-f. rmbdx-f1 = '分'. ELSE. rmbdx-z = '整'. ENDIF. CONDENSE rmbdx NO-GAPS. IF rmbxx = 0. CLEAR rmbdx. ENDIF. rmbdx1 = rmbdx. CLEAR y. ENDFUNCTION. *---------------------------------------------------------------------* * FORM dx * *---------------------------------------------------------------------* * ........ * *---------------------------------------------------------------------* * --> VALUE(X) * * --> DXX * *---------------------------------------------------------------------* FORM dx USING value(x) CHANGING dxx. CASE x. WHEN '0'. dxx = '零'. WHEN '1'. dxx = '壹'. WHEN '2'. dxx = '贰'. WHEN '3'. dxx = '叁'. WHEN '4'. dxx = '肆'. WHEN '5'. dxx = '伍'. WHEN '6'. dxx = '陆'. WHEN '7'. dxx = '柒'. WHEN '8'. dxx = '捌'. WHEN '9'. dxx = '玖'. ENDCASE. ENDFORM.
/
本文档为【大小写金额转换】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索