测试数字金额 转为中文大写

  测试数字金额 转为中文大写
DATA:
      money_text TYPE spell.

DATA:
      con1(256TYPE c,
      con2(128TYPE c,
      con3(384TYPE c.
DATA:
      BEGIN OF it_tab3 OCCURS 0,
        content TYPE c,
      END OF it_tab3.
DATA:
      con_temp TYPE c.
DATA:
      count TYPE i.

count = 0.

CALL FUNCTION 'SPELL_AMOUNT'
 EXPORTING
   AMOUNT          = '12123456789.11'
   CURRENCY        = 'CNY'
*   FILLER          = ' '
   LANGUAGE        = '1'
 IMPORTING
   IN_WORDS        = money_text
 EXCEPTIONS
   NOT_FOUND       = 1
   TOO_LARGE       = 2
   OTHERS          = 3
          .
IF SY-SUBRC <> 0.
 MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

CONCATENATE money_text-word '圆' INTO con1.

WHILE money_text-DECWORD+count(1) <> ''.
  con_temp = money_text-DECWORD+count(1).

  IF con_temp = '拾'.
    it_tab3-content = '角'.

  ELSE.
    it_tab3-content = con_temp.

  ENDIF.

  APPEND it_tab3.
  count = count + 1.

ENDWHILE.


LOOP AT it_tab3.
  CONCATENATE con2 it_tab3-content INTO con2.

ENDLOOP.

IF con_temp <> '拾'.         "判断是不是只有到 ‘角’ 位上有数字,如果是的话,con_temp 是的内容应该是 '拾' ,
                             "不是的话说明 '分' 位上有值,后面要加个 ’分‘
  CONCATENATE con2 '分' INTO con2.

ENDIF.


**没有  角 和 分   即是  '.00'  情况
IF count = 1 AND con2 = '零分'.
  con2 = ''.

ENDIF.

CONCATENATE con1 con2 INTO con3.

WRITE: /, con3.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

紫气东来_999

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值