  
- UID
- 2031431
- 威望
- 27 点
- 金钱
- 2 金币
- 点卡
- 10 点
|
设计阿拉伯数字转换中文汉字,用于财务或金融
- input "请输入需转换的数字:" to num
- *num=1001.45
- ?num,numbertostring(num)
- function numbertostring &&阿拉伯数字转换成汉字
- para num &&参数
- s="" &&保存转换值
- i=1 &&统计整数或小数位数
- bz=.f. &&判数字之间是否有零
- bzz=.f. &&判元前不能有零
- num1=int(num)
- num2=num-num1
- if num1>0
- s="元"
- endif
- do while num1>0
- a=mod(num1,10) &&取数字最后一位
- if a>0
- c1=substr("壹贰叁肆伍陆柒捌玖",a*2-1,2)
- c2=allt(substr(" 拾佰仟万拾佰仟亿拾佰仟万",i*2-1,2))
- &&或用如下一条语句替代
- &&c2=allt(substr(" 拾佰仟万亿",(int(i/5)+mod(i,5)+iif(i=9,1,0)+iif(i=5,
- 5,0))*2-1,2))
- c3=iif(i>5.and.i<>9.and.bz,substr("万亿",int(i/5)*2-1,2),"")
- s=c1+c2+iif(bz.and.bzz,c3+"零",c3)+s
- bz=.f.
- bzz=.t.
- else
- bz=.t.
- endif
- num1=int(num1/10) &&移去最后一位
- i=i+1
- enddo
- for i=1 to 2
- a=int(num2*10)
- if a>0
- c1=substr("壹贰叁肆伍陆柒捌玖",a*2-1,2)
- c2=substr("角分",i*2-1,2)
- s=s+c1+c2
- endif
- num2=num2*10-a
- endfor
- return s
复制代码 |
哈哈哈!!!!你的IP是不是 ?我都知道了!!! |
|