| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 445 人关注过本帖
标题:各位好!数字转换问题!
只看楼主 加入收藏
huangchao
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2006-6-13
收藏
 问题点数:0 回复次数:4 
各位好!数字转换问题!

各位师哥师姐好!
小弟有一个问题想请教,例如:15986523.36转换大写人民币:壹仟伍佰玖拾捌万陆仟伍佰贰拾叁元叁角陆分整
又如:15000.52:壹万伍仟元伍角贰分整
请问这个程序怎么实现啊!
谢谢!!!!!!

搜索更多相关主题的帖子: 数字 
2006-11-18 08:50
渚薰
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:1132
专家分:0
注 册:2006-8-6
收藏
得分:0 
重点考虑位数,数字转换成大写并不复杂,也就是1->壹,2->贰
关键是仟佰万等这些如何添加,请楼主自己再细心考虑下,遗憾的是,我时间有限不能帮你写
大致思路
从低位到高位依次添加拾、佰、仟
同时用四位四位的分治策略,递归组合每四位
比如
215986523
首先分治,2,1598,6523 2->贰,1598->壹仟伍佰玖拾捌,6523->陆仟伍佰贰拾叁
然后通过递归再组合成:贰亿壹仟伍佰玖拾捌陆仟伍佰贰拾叁

[此贴子已经被作者于2006-11-19 12:13:07编辑过]


个人ajax技术专题站: " target="_blank">http://www. 我不会闲你烦,只会闲你不够烦!
2006-11-19 12:11
google
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:3419
专家分:23
注 册:2005-11-1
收藏
得分:0 
<script language=vbscript>
function Money222(asdf)
thenumber=asdf
dim one(),onestr()//定义数组
String1 = "零壹贰叁肆伍陆柒捌玖"
String2 = "万仟佰拾亿仟佰拾万仟佰拾元角分厘毫"
checkp=instr(thenumber,".")//判断是否含有小数位
if checkp<>0 then
thenumber=replace(thenumber,".","")//去除小数位
end if
length1=len(thenumber) //取得数据长度
redim one(length1-1)//重新定义数组大小
redim onestr(length1-1)//重新定义数组大小
for i=0 to length1-1
one(i)=mid(thenumber,i+1,1) //循环取得每一位的数字
one(i)=mid(string1,one(i)+1,1)//循环取得数字对应的大写
if checkp=0 then
//不含有小数的数据其数字对应的单位
onestr(i)=mid(string2,14-length1+i,1)
else//含有小数的数据其数字对应的单位
onestr(i)=mid(string2,15-length1+i+len(thenumber)-checkp,1)
end ifone(i)=one(i)&onestr(i)//将数字与单位组合
next
Money11=replace(join(one)," ","") //取得数组中所有的元素,并连接起来Money11=replace(Money11,"零万","万")
Money11=replace(Money11,"零亿","亿")
Money11=replace(Money11,"零仟","零")
Money11=replace(Money11,"零佰","零")
Money11=replace(Money11,"零拾","零")
do while not instr(Money11,"零零")=0
Money11=replace(Money11,"零零","零")
loop
Money11=replace(Money11,"零元","元")
Money222=Money11
end function
msgbox money222(12345678901)
</script>

[此贴子已经被作者于2006-11-19 15:05:02编辑过]


祝天下所有母亲幸福安康!~
2006-11-19 14:59
做人很低调
Rank: 5Rank: 5
等 级:贵宾
威 望:18
帖 子:1268
专家分:0
注 册:2006-8-2
收藏
得分:0 

楼上的写的真不错 我也留了一份
你的代码好像没有限定金额的长度吧
要是输入一个很长的数就要报错了 呵呵


其实我很低调,只是你不知道...
2006-11-19 17:48
huangchao
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2006-6-13
收藏
得分:0 
谢谢各位师哥师姐的回复,小弟在此真的很感动,很谢谢!谢谢!
2006-11-20 09:57
快速回复:各位好!数字转换问题!
数据加载中...
 
   



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

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