金额的阿拉伯数据转汉字的函数!
来源:互联网 发布:映射网络驱动器 权限 编辑:程序博客网 时间:2024/06/12 01:03
FUNCTION zfi_convert_to_capitalization.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" REFERENCE(P_AMOUNT) TYPE WERTV8
*" EXPORTING
*" REFERENCE(P_CAPITALIZATION) TYPE STRING
*"----------------------------------------------------------------------
DATA:
v_s00(2) VALUE '零',
v_s01(2) VALUE '壹',
v_s02(2) VALUE '贰',
v_s03(2) VALUE '叁',
v_s04(2) VALUE '肆',
v_s05(2) VALUE '伍',
v_s06(2) VALUE '陆',
v_s07(2) VALUE '柒',
v_s08(2) VALUE '捌',
v_s09(2) VALUE '玖',
v_w00(2) VALUE '',
v_w01(2) VALUE '拾',
v_w02(2) VALUE '佰',
v_w03(2) VALUE '仟',
v_w04(2) VALUE '万',
v_w05(4) VALUE '拾万',
v_w06(4) VALUE '佰万',
v_w07(4) VALUE '仟万',
v_w08(2) VALUE '亿',
v_w09(4) VALUE '拾亿',
v_w10(4) VALUE '佰亿',
v_w11(4) VALUE '仟亿',
v_w12(4) VALUE '万亿',
v_sy(2) VALUE '元',
v_sj(2) VALUE '角',
v_sf(2) VALUE '分',
v_amount(16),"将金额转换成字符型
v_len TYPE i,"v_amount或p_capitalization的长度
v_var(5),"v_s0,v_s1,...,v_w0,v_w1,...
v_num(2) TYPE n,"每一位的数值
v_s_num(2),"v_s0,v_s1,...中的值
v_weight(2) TYPE n,"权数
v_w_num(4),"v_w0,v_w1,...中的值
v_flag0 TYPE i VALUE 1,"是否输出'零',0不输出,1输出
v_n TYPE i VALUE 0.
v_amount = p_amount.
SHIFT v_amount LEFT DELETING LEADING space.
SHIFT v_amount LEFT DELETING LEADING '0'.
*-计算分-----------------------------------------
v_len = strlen( v_amount ).
v_len = v_len - 1.
v_num = v_amount+v_len(1).
IF v_num <> '0'.
CONCATENATE 'v_s' v_num INTO v_var.
WRITE (v_var) TO v_s_num.
CONCATENATE v_s_num v_sf p_capitalization INTO p_capitalization.
ENDIF.
*-计算角-----------------------------------------
v_len = strlen( v_amount ).
v_len = v_len - 2.
v_num = v_amount+v_len(1).
IF v_num <> '0'.
CONCATENATE 'v_s' v_num INTO v_var.
WRITE (v_var) TO v_s_num.
CONCATENATE v_s_num v_sj p_capitalization INTO p_capitalization.
ENDIF.
*-输出‘整’字-------------------------------------
IF p_capitalization = ' '.
CONCATENATE '整' p_capitalization INTO p_capitalization.
ENDIF.
*-计算整数---------------------------------------
v_len = strlen( v_amount ).
v_len = v_len - 3.
if v_len = 0.
exit.
endif.
v_amount = v_amount(v_len)." 整数部分
*-输出‘元’字-------------------------------------
CONCATENATE v_sy p_capitalization INTO p_capitalization.
v_n = v_len - 1.
v_weight = 0.
DO v_len TIMES.
* 从个位开始
v_num = v_amount+v_n(1).
IF v_num <> '0'.
CONCATENATE 'v_s' v_num INTO v_var.
WRITE (v_var) TO v_s_num.
CONCATENATE 'v_w' v_weight INTO v_var.
WRITE (v_var) TO v_w_num.
CONCATENATE v_s_num v_w_num p_capitalization INTO p_capitalization.
v_flag0 = 1.
ELSE.
IF v_flag0 = 1.
CONCATENATE 'v_s' v_num INTO v_var.
WRITE (v_var) TO v_s_num.
CONCATENATE v_s_num p_capitalization INTO p_capitalization.
v_flag0 = 0.
ENDIF.
ENDIF.
v_weight = v_weight + 1.
v_n = v_n - 1.
ENDDO.
*-删除个位可能出现'零'的情况-----------------
SEARCH p_capitalization FOR '元'.
IF sy-subrc = 0.
v_n = sy-fdpos - 2.
IF p_capitalization+v_n(2) = v_s00.
v_len = strlen( p_capitalization ).
CONCATENATE p_capitalization(v_n) p_capitalization+sy-fdpos INTO p_capitalization.
ENDIF.
ENDIF.
ENDFUNCTION.
- 金额的阿拉伯数据转汉字的函数!
- 人民币金额由阿拉伯数值转换成汉字大写数值的函数
- 把阿拉伯转换成汉字的方法
- 阿拉伯的撒拉丁
- 阿拉伯系统的建立
- 阿拉伯系统的建立
- c#实现的阿拉伯数字转大写汉字金额
- 一个数字金额转变成汉字大写金额的javascript脚本
- 把金额转换成汉字大写金额的Java代码
- 阿拉伯数据转中文大写
- 自动生成大写汉字金额的方法
- 将数字类型的金额转换成汉字表示的js函数
- 阿拉伯金额转中文大写及英文格式
- 金额:数字转汉字
- android阿拉伯语言的数字
- JavaScript金额的格式化函数
- 金额转换,阿拉伯数字的金额转换成中国传统大写汉字的形式
- double类型的数字变为汉字(金额)
- 《监控》再起风云,连同创作中的《监控2》成功牵手影视公司
- ABAP常用fuction
- C#中调用SQL存储过程
- 如何优化ABAP性能
- aspupload 批量上传图片并存入数据库,取得multipart/form-data的表单数据
- 金额的阿拉伯数据转汉字的函数!
- Javascript几个原创小技巧
- 双飞鸟——女大学生创业
- 如果调用一个程序来打开一个文件?
- 扩展GridView控件(索引) - 增加多个常用功能
- VS2008 错误集
- IP地址计算
- C/C++经典编程源码大全(源码+解析),新手必备!
- 路径“ /App_GlobalResources/”映射到此应用程序外部的目录,这是不受支持的。