用ABAP实现将金额转换为大写
来源:互联网 发布:乌丸莲耶 知乎 编辑:程序博客网 时间:2024/06/11 21:14
TYPES: CUR6 TYPE P DECIMALS 6 ,
CUR2 TYPE P DECIMALS 2 .
DATA VA1 TYPE CUR2.
DATA STR(40) TYPE C .
VA1 = '232.23'.
PERFORM CONV_AMOUNT USING VA1
CHANGING STR.
WRITE STR.
*&--------------------------------------------------------------------*
*& Form conv_amount
*&--------------------------------------------------------------------*
FORM CONV_AMOUNT USING VALUE(F_SOURCE)
CHANGING VALUE(F_RESULT).
DATA: SCR(30) TYPE C, RES(60) TYPE C,FEN(2) TYPE C .
DATA: LEN TYPE I, C1 TYPE I, C2 TYPE I, C3 TYPE I, C4 TYPE I.
DATA: D1(1) TYPE C, D2(1) TYPE C, D3 TYPE I.
DATA: DIGIT(2) TYPE C, WEIGHT(2) TYPE C.
DATA: RULE1(20) TYPE C VALUE '零壹贰叁肆伍陆柒捌玖'.
DATA: RULE2(30) TYPE C VALUE '分角元拾佰仟万拾佰仟亿拾佰仟万'.
SCR = F_SOURCE * 100.
CONDENSE SCR NO-GAPS.
IF SCR = '0'.
RES = '零元'.
ELSE.
LEN = STRLEN( SCR ).
C1 = 0.
D1 = '0'.
CLEAR RES.
DO LEN TIMES.
C1 = C1 + 1.
C2 = LEN - C1.
D2 = SCR+C2(1) .
IF D2 = '0'.
D3 = 0.
ELSE.
D3 = D2 * 2.
ENDIF.
DIGIT = RULE1+D3(2) .
C3 = ( C1 - 1 ) * 2.
WEIGHT = RULE2+C3(2) .
IF D2 = '0'.
IF C1 = 3.
DIGIT = ''.
ELSEIF C1 = 7.
DIGIT = ''.
IF LEN > 10 .
C4 = LEN - 10.
IF SCR+C4(4) = '0000'.
WEIGHT = ''.
ENDIF.
ENDIF.
ELSEIF C1 = 11.
DIGIT = ''.
ELSEIF D1 = '0'.
DIGIT = ''.
WEIGHT = ''.
ELSE.
WEIGHT = ''.
ENDIF.
ENDIF.
* CONCATENATE digit weight res INTO res. "汉字间是否加进空格
CONCATENATE DIGIT WEIGHT RES INTO RES SEPARATED BY SPACE.
D1 = D2.
ENDDO.
ENDIF.
LEN = STRLEN( RES ) - 2.
FEN = RES+LEN(2).
IF FEN <> '分' .
CONCATENATE RES ' 整' INTO F_RESULT.
ELSE.
F_RESULT = RES.
ENDIF.
ENDFORM. "conv_amount
- 用ABAP实现将金额转换为大写
- ABAP--将数字金额转换为人民币大写字符串
- ABAP--将数字金额转换为人民币大写字符串
- C#将金额转换为大写金额
- AnglurJS将金额转换为大写金额
- ABAP 金额大写转换
- ABAP--将数字金额转换为人民币大写字符串(增加UNICODE版本)
- ABAP--将数字金额转换为人民币大写字符串(增加UNICODE版本)
- 用JavaScript将数字转换为大写金额
- 用JavaScript将数字转换为大写金额
- 将小写金额转换为中文大写
- 将数字转换为大写金额
- 将小写金额转换为中文大写
- 将数字转换为大写金额
- JavaScript将数字转换为大写金额
- 将小写数字金额转换为大写得金额
- 将数字金额转换为中文大写金额
- 将小写金额转换为中文大写金额的类
- 不想帮人家写一辈子程序就要看的一本书
- 让别人欣赏你的28个理由
- 一个数组函数 ArrayToValue
- 建立国内Web前端开发的生态系统
- 在b/s开发中经常用到的javaScript技术
- 用ABAP实现将金额转换为大写
- vsftp 使用详解
- 屏幕/内存同步原则在Symbian编程中的应用
- Visual C++ 6.0的安装
- 应用程序向导
- CSS中改变局部的链接属性
- 软RAID与硬RAID
- 从今往后要认真记录自己的成长啦
- 标准模板库map, vector查找用法