1. 转自:http://www.dasunny.com/wordpress/sapnotes/2015113091.html
    SAP标准的数值转换函数 SPELL_AMOUNT
  1. 仅对整数部分进行了处理,小数部分未处理。
  1. FUNCTION Z_RMBDX.
  2. DATA: BEGIN OF RMB,
  3. BY TYPE C,
  4. SY TYPE C,
  5. Y TYPE C,
  6. QW TYPE C,
  7. BW TYPE C,
  8. SW TYPE C,
  9. W TYPE C,
  10. Q TYPE C,
  11. B TYPE C,
  12. S TYPE C,
  13. G TYPE C,
  14. D TYPE C,
  15. J TYPE C,
  16. F TYPE C,
  17. N TYPE C,
  18. END OF RMB.
  19. DATA: BEGIN OF RMBDX,
  20. BY() TYPE C,
  21. BY1() TYPE C,
  22. SY() TYPE C,
  23. SY1() TYPE C,
  24. Y() TYPE C,
  25. Y1() TYPE C,
  26. QW() TYPE C,
  27. QW1() TYPE C,
  28. BW() TYPE C,
  29. BW1() TYPE C,
  30. SW() TYPE C,
  31. SW1() TYPE C,
  32. W() TYPE C,
  33. W1() TYPE C,
  34. Q() TYPE C,
  35. Q1() TYPE C,
  36. B() TYPE C,
  37. B1() TYPE C,
  38. S() TYPE C,
  39. S1() TYPE C,
  40. G() TYPE C,
  41. D() TYPE C,
  42. J() TYPE C,
  43. J1() TYPE C,
  44. F() TYPE C,
  45. F1() TYPE C,
  46. Z() TYPE C,
  47. END OF RMBDX.
  48. DATA: Y() TYPE C.
  49.  
  50. RMB = RMBXX.
  51.  
  52. IF NOT ( RMB-BY IS INITIAL ) AND RMB-BY NE ''.
  53. PERFORM DX USING RMB-BY CHANGING RMBDX-BY.
  54.  
  55. Y = 'X'.
  56.  
  57. IF RMB-BY NE ''.
  58. IF RMB-SY EQ '' AND RMB-Y EQ ''.
  59. RMBDX-BY1 = '佰亿'.
  60. ELSE.
  61. RMBDX-BY1 = '佰'.
  62. ENDIF.
  63. ENDIF.
  64. ENDIF.
  65.  
  66. IF NOT ( RMB-SY IS INITIAL ).
  67. IF RMB-SY NE '' OR RMB-Y NE ''.
  68. PERFORM DX USING RMB-SY CHANGING RMBDX-SY.
  69. Y = 'X'.
  70. IF RMB-SY NE ''.
  71. IF RMB-Y EQ ''.
  72. RMBDX-SY1 = '拾亿'.
  73. ELSE.
  74. RMBDX-SY1 = '拾'.
  75. ENDIF.
  76. ENDIF.
  77. ENDIF.
  78. ENDIF.
  79. IF NOT ( RMB-Y IS INITIAL ).
  80. IF RMB-Y NE '' OR RMB-QW NE ''.
  81. PERFORM DX USING RMB-Y CHANGING RMBDX-Y.
  82. Y = 'X'.
  83. IF RMB-Y NE ''.
  84. RMBDX-Y1 = '亿'.
  85. ENDIF.
  86. ENDIF.
  87. ENDIF.
  88. IF NOT ( RMB-QW IS INITIAL ).
  89. IF RMB-QW NE '' OR RMB-BW NE ''.
  90. PERFORM DX USING RMB-QW CHANGING RMBDX-QW.
  91. Y = 'X'.
  92. IF RMB-QW NE ''.
  93. IF RMB-BW EQ '' AND RMB-SW EQ '' AND RMB-W EQ ''.
  94. RMBDX-QW1 = '仟万'.
  95. ELSE.
  96. RMBDX-QW1 = '仟'.
  97. ENDIF.
  98. ENDIF.
  99. ENDIF.
  100. ENDIF.
  101. IF NOT ( RMB-BW IS INITIAL ).
  102. IF RMB-BW NE '' OR RMB-SW NE ''.
  103. PERFORM DX USING RMB-BW CHANGING RMBDX-BW.
  104. Y = 'X'.
  105. IF RMB-BW NE ''.
  106. IF RMB-SW EQ '' AND RMB-W EQ ''.
  107. RMBDX-BW1 = '佰万'.
  108. ELSE.
  109. RMBDX-BW1 = '佰'.
  110. ENDIF.
  111. ENDIF.
  112. ENDIF.
  113. ENDIF.
  114. IF NOT ( RMB-SW IS INITIAL ).
  115. IF RMB-SW NE'' OR RMB-W NE ''.
  116. PERFORM DX USING RMB-SW CHANGING RMBDX-SW.
  117. Y = 'X'.
  118. IF RMB-SW NE ''.
  119. IF RMB-W EQ ''.
  120. RMBDX-SW1 = '拾万'.
  121. ELSE.
  122. RMBDX-SW1 = '拾'.
  123. ENDIF.
  124. ENDIF.
  125. ENDIF.
  126. ENDIF.
  127. IF NOT ( RMB-W IS INITIAL ).
  128. IF RMB-W NE '' OR RMB-Q NE ''.
  129. PERFORM DX USING RMB-W CHANGING RMBDX-W.
  130. Y = 'X'.
  131. IF RMB-W NE ''.
  132. RMBDX-W1 = '万'.
  133. ENDIF.
  134. ENDIF.
  135. ENDIF.
  136. IF NOT ( RMB-Q IS INITIAL ).
  137. IF RMB-Q NE '' OR RMB-B NE ''.
  138. PERFORM DX USING RMB-Q CHANGING RMBDX-Q.
  139. Y = 'X'.
  140. IF RMB-Q NE ''.
  141. RMBDX-Q1 = '仟'.
  142. ENDIF.
  143. ENDIF.
  144. ENDIF.
  145. IF NOT ( RMB-B IS INITIAL ).
  146. IF RMB-B NE '' OR RMB-S NE ''.
  147. PERFORM DX USING RMB-B CHANGING RMBDX-B.
  148. Y = 'X'.
  149. IF RMB-B NE ''.
  150. RMBDX-B1 = '佰'.
  151. ENDIF.
  152. ENDIF.
  153. ENDIF.
  154. IF NOT ( RMB-S IS INITIAL ).
  155. IF RMB-S NE'' OR RMB-G NE ''.
  156. PERFORM DX USING RMB-S CHANGING RMBDX-S.
  157. Y = 'X'.
  158. IF RMB-S NE ''.
  159. RMBDX-S1 = '拾'.
  160. ENDIF.
  161. ENDIF.
  162. ENDIF.
  163. IF NOT ( RMB-G IS INITIAL ) AND RMB-G NE ''.
  164. PERFORM DX USING RMB-G CHANGING RMBDX-G.
  165. Y = 'X'.
  166. ENDIF.
  167. IF Y EQ 'X'.
  168. RMBDX-D = '圆'.
  169. ENDIF.
  170. IF NOT ( RMB-J IS INITIAL ) AND RMB-J NE ''.
  171. PERFORM DX USING RMB-J CHANGING RMBDX-J.
  172. RMBDX-J1 = '角'.
  173. ENDIF.
  174. IF NOT ( RMB-F IS INITIAL ) AND RMB-F NE ''.
  175. PERFORM DX USING RMB-F CHANGING RMBDX-F.
  176. RMBDX-F1 = '分'.
  177. ELSE.
  178. RMBDX-Z = '整'.
  179. ENDIF.
  180. CONDENSE RMBDX NO-GAPS.
  181. IF RMBXX = .
  182. CLEAR RMBDX.
  183. ENDIF.
  184. RMBDX1 = RMBDX.
  185. CLEAR Y.
  186.  
  187. ENDFUNCTION.
  188.  
  189. FORM DX USING VALUE(X) CHANGING DXX.
  190. CASE X.
  191. WHEN ''.
  192. DXX = '零'.
  193. WHEN ''.
  194. DXX = '壹'.
  195. WHEN ''.
  196. DXX = '贰'.
  197. WHEN ''.
  198. DXX = '叁'.
  199. WHEN ''.
  200. DXX = '肆'.
  201. WHEN ''.
  202. DXX = '伍'.
  203. WHEN ''.
  204. DXX = '陆'.
  205. WHEN ''.
  206. DXX = '柒'.
  207. WHEN ''.
  208. DXX = '捌'.
  209. WHEN ''.
  210. DXX = '玖'.
  211. ENDCASE.
  212. 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. codeigniter视图

    怎么加载视图? 例如我们有一个视图在 application/views/welcome.php public function index() { $this->load->view(' ...

  2. org.apache.commons.io.Charsets

    requiredCharsets:由Java平台支持字符集对象标准名称,构造一个sorted map. public void test() { Map<String, Charset> ...

  3. Beginning Auto Layout Tutorial in iOS 7: Part 2

    Auto Layout to the rescue! 接下来就看看如何使用Auto Layout来实现这个效果. 首先移除viewWillLayoutSubviews方法,选择Main.storybo ...

  4. Storyboards Tutorial 01

    Storyboarding 是在ios 5时候引进入的一个非常出色的特性.节省了为app创建user interfaces的时间.

  5. cocos3.x新建项目

    cocos new -p FishRunMan com.game.simple -l cpp

  6. Scut游戏服务器引擎6.0.5.1发布

    1. 修正缓存删除时不会更新到Redis的问题 2. 修正Model组合3个以上子类时Change事件未绑定的问题 3. 修正中间层MySql与MsSql数据库Sql语句分页问题

  7. UVA 133“The Dole Queue”(循环报数处理技巧)

    •参考资料 [1]:紫书P82 •题意(by紫书) 按照被选中的次序输出这 n 个人的编号: 如果A和B选中的是同一个人,输出一个这个人的编号: 输出格式:输出的每个编号占3个字节,不够3个字节在前面 ...

  8. ajax跨域解决办法

    在使用jquery的ajax作请求时,http://127.0.0.1:8080,类似这样的一个本地请求,会产生跨域问题, 解决办法一: jsonp: var url= "http://12 ...

  9. flask的安全注意事项,如何防范XSS、CSRF、JSON安全

    参考官方文档:http://docs.jinkan.org/docs/flask/security.html 1.xss Flask 配置 Jinja2 自动转义所有值,除非显式地指明不转义.这就排除 ...

  10. 2017.2.21 activiti实战--第七章--Activiti与spring集成(一)配置文件

    学习资料:<Activiti实战> 第七章 Activiti与容器集成 本章讲解activiti-spring可以做的事情,如何与现有系统集成,包含bean的注入.统一事务管理等. 7.1 ...