| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 745 人关注过本帖
标题:第一次发贴.问个很小问题.
只看楼主 加入收藏
lwj_python
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-10-22
收藏
 问题点数:0 回复次数:2 
第一次发贴.问个很小问题.
数字转换成大写汉字.如:2008.99 转换成:贰千零捌元玖角玖分.

是否能够实现 . 谢谢各位.
搜索更多相关主题的帖子: 能够 数字 汉字 
2008-11-03 23:35
ibmlang_002
Rank: 5Rank: 5
来 自:浙江-嘉兴
等 级:贵宾
威 望:18
帖 子:437
专家分:176
注 册:2008-8-30
收藏
得分:0 
写个转换函数就可以了

VFP
2008-11-04 07:38
glygly06
Rank: 1
来 自:雁城
等 级:新手上路
威 望:1
帖 子:120
专家分:0
注 册:2008-10-1
收藏
得分:0 
把金额由数字变成大写的小程序(对编写财务软件非常的有用)
1、编写如下函数。该函数的返回值能够舍去数字之间的零,比较准确,符合会计准则,比较适合打印银行存单等。
PARA RMB
SET TALK OFF
XX=LTRIM(STR(RMB,11,2))
RMBLEN=LEN(XX)
DX='零'
C1='零壹贰叁肆伍陆柒捌玖'
C2='分角 元拾佰仟万拾佰仟'
*----------------
DO WHILE RMB>0.AND.RMBLEN>=1
DB=SUBS(XX,LEN(XX)-RMBLEN+1,1)
IF DB#'.'
DX1=SUBS(C1,VAL(DB)*2+1,2)
DX2=TRIM(SUBS(C2,(RMBLEN-1)*2+1,2))
IF DX1='零'
HZ=SUBS(DX,LEN(DX)-1,2)
IF HZ='零'
IF DX2='万'.OR.DX2='元'
DX=SUBS(DX,1,LEN(DX)-2)+DX2
ENDI
ELSE
IF DX2='万'.OR.DX2='元'
DX=SUBS(DX,1,LEN(DX))+DX2
ELSE
DX=DX+DX1
ENDIF
ENDIF
ELSE
DX=DX+DX1+DX2
ENDI
ENDIF
RMBLEN=RMBLEN-1
ENDDO
IF SUBS(DX,1,2)='元'
DX=SUBS(DX,3,LEN(DX)-2)
ENDI
IF SUBS(DX,1,2)='零'
DX=+SUBS(DX,3,LEN(DX)-2)
ENDI
IF SUBS(DX,LEN(DX)-1,2)='零'
DX=SUBS(DX,1,LEN(DX)-2)+'整'
ENDI
SET TALK ON
RETU DX
2、编写如下函数。该函数的返回值比较适合于一些单据的填空式打印,如增值税发票等。
para rmb
nDzs=strt(allt(str(rmb,15,2)),".","") &&把小数点去掉
hzdx="零壹贰叁肆伍陆柒捌玖"
nDW="分角元拾佰仟万拾佰仟亿拾佰仟"
rmbdx=""
nCd=len(nDzs)
for i=1 to len(nDzs)
NumS=substrc(hzdx,int(val(subs(nDzs,i,1))+1),1) && 数字转换
nDWs=substrc(nDW,nCd,1) &&----------要单位,如果不要单位可将此句改为:nDWs=spac(2)
rmbdx=rmbdx+NumS+nDwS
nCd=nCd-1
endfor
retu rmbdx

我是一只小小小菜鸟,我想装懂却又懂不了多少

2008-11-04 12:46
快速回复:第一次发贴.问个很小问题.
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023305 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved