返回列表 回复 发帖

设计阿拉伯数字转换中文汉字,用于财务或金融

  1. input "请输入需转换的数字:" to num
  2. *num=1001.45
  3. ?num,numbertostring(num)
  4. function numbertostring    &&阿拉伯数字转换成汉字
  5. para num                &&参数
  6. s=""                    &&保存转换值
  7. i=1                     &&统计整数或小数位数
  8. bz=.f.                  &&判数字之间是否有零
  9. bzz=.f.                 &&判元前不能有零
  10. num1=int(num)
  11. num2=num-num1
  12. if num1>0
  13.    s="元"
  14. endif
  15. do while num1>0
  16.   a=mod(num1,10)       &&取数字最后一位
  17.   if a>0
  18.     c1=substr("壹贰叁肆伍陆柒捌玖",a*2-1,2)
  19.     c2=allt(substr("  拾佰仟万拾佰仟亿拾佰仟万",i*2-1,2))
  20.     &&或用如下一条语句替代
  21.     &&c2=allt(substr("  拾佰仟万亿",(int(i/5)+mod(i,5)+iif(i=9,1,0)+iif(i=5,
  22. 5,0))*2-1,2))
  23.     c3=iif(i>5.and.i<>9.and.bz,substr("万亿",int(i/5)*2-1,2),"")
  24.     s=c1+c2+iif(bz.and.bzz,c3+"零",c3)+s
  25.     bz=.f.
  26.     bzz=.t.
  27.   else
  28.     bz=.t.
  29.   endif
  30.   num1=int(num1/10)  &&移去最后一位
  31.   i=i+1
  32. enddo
  33. for i=1 to 2
  34.   a=int(num2*10)
  35.   if a>0
  36.     c1=substr("壹贰叁肆伍陆柒捌玖",a*2-1,2)
  37.     c2=substr("角分",i*2-1,2)
  38.     s=s+c1+c2
  39.   endif
  40.   num2=num2*10-a
  41. endfor
  42. return s
复制代码
哈哈哈!!!!你的IP是不是?我都知道了!!!
返回列表