转自:http://www.dasunny.com/wordpress/sapnotes/2015113091.html
SAP标准的数值转换函数 SPELL_AMOUNT,
仅对整数部分进行了处理,小数部分未处理。
FUNCTION Z_RMBDX.
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() TYPE C,
BY1() TYPE C,
SY() TYPE C,
SY1() TYPE C,
Y() TYPE C,
Y1() TYPE C,
QW() TYPE C,
QW1() TYPE C,
BW() TYPE C,
BW1() TYPE C,
SW() TYPE C,
SW1() TYPE C,
W() TYPE C,
W1() TYPE C,
Q() TYPE C,
Q1() TYPE C,
B() TYPE C,
B1() TYPE C,
S() TYPE C,
S1() TYPE C,
G() TYPE C,
D() TYPE C,
J() TYPE C,
J1() TYPE C,
F() TYPE C,
F1() TYPE C,
Z() TYPE C,
END OF RMBDX.
DATA: Y() TYPE C. RMB = RMBXX. IF NOT ( RMB-BY IS INITIAL ) AND RMB-BY NE ''.
PERFORM DX USING RMB-BY CHANGING RMBDX-BY. Y = 'X'. IF RMB-BY NE ''.
IF RMB-SY EQ '' AND RMB-Y EQ ''.
RMBDX-BY1 = '佰亿'.
ELSE.
RMBDX-BY1 = '佰'.
ENDIF.
ENDIF.
ENDIF. IF NOT ( RMB-SY IS INITIAL ).
IF RMB-SY NE '' OR RMB-Y NE ''.
PERFORM DX USING RMB-SY CHANGING RMBDX-SY.
Y = 'X'.
IF RMB-SY NE ''.
IF RMB-Y EQ ''.
RMBDX-SY1 = '拾亿'.
ELSE.
RMBDX-SY1 = '拾'.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
IF NOT ( RMB-Y IS INITIAL ).
IF RMB-Y NE '' OR RMB-QW NE ''.
PERFORM DX USING RMB-Y CHANGING RMBDX-Y.
Y = 'X'.
IF RMB-Y NE ''.
RMBDX-Y1 = '亿'.
ENDIF.
ENDIF.
ENDIF.
IF NOT ( RMB-QW IS INITIAL ).
IF RMB-QW NE '' OR RMB-BW NE ''.
PERFORM DX USING RMB-QW CHANGING RMBDX-QW.
Y = 'X'.
IF RMB-QW NE ''.
IF RMB-BW EQ '' AND RMB-SW EQ '' AND RMB-W EQ ''.
RMBDX-QW1 = '仟万'.
ELSE.
RMBDX-QW1 = '仟'.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
IF NOT ( RMB-BW IS INITIAL ).
IF RMB-BW NE '' OR RMB-SW NE ''.
PERFORM DX USING RMB-BW CHANGING RMBDX-BW.
Y = 'X'.
IF RMB-BW NE ''.
IF RMB-SW EQ '' AND RMB-W EQ ''.
RMBDX-BW1 = '佰万'.
ELSE.
RMBDX-BW1 = '佰'.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
IF NOT ( RMB-SW IS INITIAL ).
IF RMB-SW NE'' OR RMB-W NE ''.
PERFORM DX USING RMB-SW CHANGING RMBDX-SW.
Y = 'X'.
IF RMB-SW NE ''.
IF RMB-W EQ ''.
RMBDX-SW1 = '拾万'.
ELSE.
RMBDX-SW1 = '拾'.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
IF NOT ( RMB-W IS INITIAL ).
IF RMB-W NE '' OR RMB-Q NE ''.
PERFORM DX USING RMB-W CHANGING RMBDX-W.
Y = 'X'.
IF RMB-W NE ''.
RMBDX-W1 = '万'.
ENDIF.
ENDIF.
ENDIF.
IF NOT ( RMB-Q IS INITIAL ).
IF RMB-Q NE '' OR RMB-B NE ''.
PERFORM DX USING RMB-Q CHANGING RMBDX-Q.
Y = 'X'.
IF RMB-Q NE ''.
RMBDX-Q1 = '仟'.
ENDIF.
ENDIF.
ENDIF.
IF NOT ( RMB-B IS INITIAL ).
IF RMB-B NE '' OR RMB-S NE ''.
PERFORM DX USING RMB-B CHANGING RMBDX-B.
Y = 'X'.
IF RMB-B NE ''.
RMBDX-B1 = '佰'.
ENDIF.
ENDIF.
ENDIF.
IF NOT ( RMB-S IS INITIAL ).
IF RMB-S NE'' OR RMB-G NE ''.
PERFORM DX USING RMB-S CHANGING RMBDX-S.
Y = 'X'.
IF RMB-S NE ''.
RMBDX-S1 = '拾'.
ENDIF.
ENDIF.
ENDIF.
IF NOT ( RMB-G IS INITIAL ) AND RMB-G NE ''.
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 ''.
PERFORM DX USING RMB-J CHANGING RMBDX-J.
RMBDX-J1 = '角'.
ENDIF.
IF NOT ( RMB-F IS INITIAL ) AND RMB-F NE ''.
PERFORM DX USING RMB-F CHANGING RMBDX-F.
RMBDX-F1 = '分'.
ELSE.
RMBDX-Z = '整'.
ENDIF.
CONDENSE RMBDX NO-GAPS.
IF RMBXX = .
CLEAR RMBDX.
ENDIF.
RMBDX1 = RMBDX.
CLEAR Y. ENDFUNCTION. FORM DX USING VALUE(X) CHANGING DXX.
CASE X.
WHEN ''.
DXX = '零'.
WHEN ''.
DXX = '壹'.
WHEN ''.
DXX = '贰'.
WHEN ''.
DXX = '叁'.
WHEN ''.
DXX = '肆'.
WHEN ''.
DXX = '伍'.
WHEN ''.
DXX = '陆'.
WHEN ''.
DXX = '柒'.
WHEN ''.
DXX = '捌'.
WHEN ''.
DXX = '玖'.
ENDCASE.
ENDFORM.

ABAP 数值转换大写的更多相关文章

  1. C# 数字转换成汉字大写 数值转换成汉字大写

    1.数字转换成汉字大写 public string NumToChinese(string x) { //数字转换为中文后的数组 //转载请注明来自 http://www.shang11.com st ...

  2. javascript的数值转换

    在javascript中数值转换,最要的一点是函数第一个字母必须要大写.js中的函数有string字符型.number数值型.null空型.boolean布尔型.undefined未定义. 具体的转换 ...

  3. Javascript数值转换(string,int,json)

    数值: 在JavaScript中,数值转换一般有三种方式: 一.Number(param)函数:param可以用于任何数据类型 1.1 param是Boolean值,true和false分别转换为1和 ...

  4. JavaScript数值转换总结

    在JavaScript中,数值转换一般有三种方式: 一.Number(param)函数:param可以用于任何数据类型 1.1  param是Boolean值,true和false分别转换为1和0: ...

  5. js数值转换

    先来几个题吧: var num1 = Number("123blue");var num2 = Number("");var num3 = Number([]) ...

  6. 【前端】深入浅出Javascript中的数值转换

    由于Javascript是一门弱类型的语言,在我们的代码中无时无刻不在发生着类型转换,所以了解Javascript中的类型转换对于了解我们认识Javascript的运行原理至关重要. 本文主要从数值转 ...

  7. char类型的数值转换

    在视频教程中,你已经认识到了数字类型之间.字符串和其他类型之间的转换.而某些时候,我们还需要将char类型转换为int类型,或者把int类型转换为char类型. 这篇文章,将介绍在代码中虽然不太常用, ...

  8. python 字符和数值转换

    # python 字符和数值转换 ### 字符转数值------------------------------ ord('A') ==> 65- ord('B') ==> 66- ord ...

  9. 用boost::lexical_cast进行数值转换

    在STL库中,我们可以通过stringstream来实现字符串和数字间的转换: int i = 0;    stringstream ss; ss << "123";  ...

随机推荐

  1. 设置ListView的item不能点击

    写了一个ListView结合volley的demo ListView只是用来展示数据,所以不需要点击效果. 网上搜索了下: 可以禁用ListView ListView.setEnabled(false ...

  2. ios文件管理

    <Application_Home>/AppName.app This is the bundle directory containing the applicationitself. ...

  3. RHEL CentOS Fedora各种源介绍和安装

    CentOS默认自带CentOS-Base.repo源,但官方源中去除了很多有版权争议的软件,而且安装的软件也不是最新的稳定版.   下面介绍各种第三方软件库,以下软件库适用于与RHEL完全兼容的li ...

  4. numpy基础语法

    np.zeros(5) [ 0.  0.  0.  0.  0.] 所得类型为数组, numpy.zeros_like(a, dtype=None, order='K', subok=True) 生成 ...

  5. zabbix学习系列之触发器

    触发器的简介 监控项仅负责收集数据,而通常收集数据的目的还包括在某指标对应的数据超出合理范围时给相关人员发送告警信息,"触发器"正式 用于为监控项所收集的数据定义阈值 每一个触发器 ...

  6. java中日期格式的转换和应用

    java中主要有3个类用于日期格式转换    DateFormat .SimpleDateFormat.Calendar SimpleDateFormat函数的继承关系: java.lang.Obje ...

  7. Direct-X学习笔记--纹理映射

    一.介绍 之前学习了如何绘制物体,还画了个DX自带的茶壶,然而这个东东并不怎么好看....离我们现实的物体简直相隔千里. 仅仅能说像美术他们用来写生的模型...那么要怎么样才干让我们的东西看起来更像真 ...

  8. 重装系统后恢复wubi安装的Ubuntu(未实测)

     wubi安装成功,但是后来windows系统重装了,如何修复ubuntu系统的引导?[另外完全可以复制别人的wubi安装的ubuntu,但是要放在同一个盘符下]  将X:/ubuntu/winboo ...

  9. 生成二维码(jquery.qrcode.min.js插件)

    生成二维码:参看GitHub资源https://github.com/jeromeetienne/jquery-qrcode 直接上代码:(都需要引入jQuery.js  1.引入(jquery.qr ...

  10. json解析:[1]gson解析json

    客户端与服务器进行数据交互时,常常需要将数据在服务器端将数据转化成字符串并在客户端对json数据进行解析生成对象.但是用jsonObject和jsonArray解析相对麻烦.利用Gson和阿里的fas ...