prg1.prg
上传用户:ythdf520
上传日期:2020-10-07
资源大小:1477k
文件大小:1k
源码类别:

其他行业

开发平台:

VFP

  1. ***将金额由小写变为英文大写
  2. func tranupper1
  3. PARAMETERS nAmount
  4. PRIVATE ALL LIKE L_*
  5. L_S1='零壹贰叁肆伍陆柒捌玖'
  6. L_S2='亿仟佰拾万仟佰拾亿仟佰拾万仟佰拾元角分'
  7. nAmount=LTRIM(STR(nAmount*100,LEN(L_S2)/2))
  8. L_LEN=LEN(nAmount)
  9. L_SS2=RIGH(L_S2,2*L_LEN)
  10. L_DX=''
  11. L_0JS=0 &&连续零的个数
  12. L_N=0
  13. DO WHILE L_N<L_LEN
  14.     L_N=L_N+1
  15.     L_SZ=SUBSTR(nAmount,L_N,1)
  16.     L_SZ=SUBSTR(L_S1,2*VAL(L_SZ)+1,2)
  17.     L_DW=SUBSTR(L_SS2,2*L_N-1,2)
  18.     IF L_SZ='零'
  19.         L_SZ=''
  20.         DO CASE
  21.             CASE L_DW$'亿元'
  22.             CASE L_DW='万'
  23.                 IF RIGH(L_DX,2)='亿'
  24.                     L_DW=''
  25.                 ENDIF 
  26.             OTHERWISE 
  27.                 L_DW=''
  28.         ENDCASE 
  29.         L_0JS=L_0JS+1
  30.     ELSE
  31.         IF L_0JS>0
  32.             L_SZ='零'+L_SZ
  33.         ENDIF 
  34.         L_0JS=0
  35.     ENDIF 
  36.     L_DX=L_DX+L_SZ+L_DW
  37. ENDDO
  38. L_DX=L_DX+IIF(RIGH(nAmount,1)='0','整','')
  39. RETURN L_DX
  40. PROCEDURE errhand
  41. PARAMETER errnum,MESSAGE
  42. IF errnum=12
  43. WAIT '' NOWAIT
  44. ELSE
  45. MESSAGEBOX(MESSAGE,0+16,'错误提示')
  46. MESSAGEBOX('错误号: '+ ALLTRIM(STR(errnum)),0+16,'错误提示')
  47. ENDIF
  48. RETURN