CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  PowerBuilder >  API 调用

大哥门救救我,十万火急,在线等待!!!!!!!

楼主sarrand(笑看风云)2003-08-01 06:59:30 在 PowerBuilder / API 调用 提问

现在公司需要我用PB编写一个函数,其功能是把阿拉伯数字的金额转换成相等的英文金额。比如24,657元转换成   TWENTY   FOUR   THOUSAND   SIX   HUNDERED   AND   FIFTY   SEVEN  
  我由于接触PB时间短,不知道如何写,但是公司急用,我实在没办法请各位大哥帮个忙写给我,在这里我万分感谢了!!!!!!!!我在线等待! 问题点数:0、回复次数:5Top

1 楼eminena(俄罗斯方块)回复于 2003-08-01 08:17:28 得分 0

到陶清网站找一找!  
  http://www.pdriver.comTop

2 楼eminena(俄罗斯方块)回复于 2003-08-01 08:18:46 得分 0

在这里:  
   
  http://www.pdriver.com/display.asp?key_id=1478Top

3 楼eminena(俄罗斯方块)回复于 2003-08-01 08:19:20 得分 0

直接下载:  
   
  http://www.pdriver.com/pb/e-tran.zipTop

4 楼klbt(快乐白兔)回复于 2003-08-01 08:51:03 得分 0

与中文金额转换的原理类似,编写一个通用函数。Top

5 楼brightstar(反恐精英)回复于 2003-08-01 09:27:07 得分 0

global   type   uf_chgmontoeng   from   function_object  
  end   type  
   
  forward   prototypes  
  global   function   string   uf_chgmontoeng   (double   inmoney)  
  end   prototypes  
   
  global   function   string   uf_chgmontoeng   (double   inmoney);string   inparm,outparm,s1,s2,s3,inpoint  
  string   dict_1[]  
  long   nlengh,nn,mm,plengh,i  
  double   dl_1,dl_2  
   
  //准备  
  dl_1   =   Truncate(inmoney,0)  
  dl_2   =   inmoney   -   dl_1  
   
  inparm   =   string(dl_1)  
  nlengh   =   len(inparm)  
  inpoint   =   string(dl_2,"0.00")  
   
  dict_1[1]   =   "one"  
  dict_1[2]   =   "two"  
  dict_1[3]   =   "three"  
  dict_1[4]   =   "four"  
  dict_1[5]   =   "five"  
  dict_1[6]   =   "six"  
  dict_1[7]   =   "seven"  
  dict_1[8]   =   "eight"  
  dict_1[9]   =   "nine"  
  dict_1[10]   =   "ten"  
  dict_1[11]   =   "eleven"  
  dict_1[12]   =   "twelve"  
  dict_1[13]   =   "thirteen"  
  dict_1[14]   =   "fourteen"  
  dict_1[15]   =   "fifteen"  
  dict_1[16]   =   "sixteen"  
  dict_1[17]   =   "seventeen"  
  dict_1[18]   =   "eighteen"  
  dict_1[19]   =   "nineteen"  
  dict_1[20]   =   "twenty"  
  dict_1[30]   =   "thirty"  
  dict_1[40]   =   "fourty"  
  dict_1[50]   =   "fifty"  
  dict_1[60]   =   "sixty"  
  dict_1[70]   =   "seventy"  
  dict_1[80]   =   "eighty"  
  dict_1[90]   =   "ninety"  
   
  //转换整数部分  
  choose   case   nlengh  
  case   1  
  nn   =   long(inparm)  
  if   nn   <>   0   then  
  outparm   =   dict_1[nn]  
  else  
  outparm   =""  
  end   if  
  case   2  
  nn   =   long(inparm)  
  mm   =   mod(nn,10)  
   
  if   mm   =   0     or   mid(inparm,1,1)     =   "1"     then  
  outparm   =   dict_1[nn]  
  else  
  s1   =   mid(inparm,1,1)  
  s2   =   mid(inparm,2,1)  
  s1   =   string(long(s1)   *   10   )  
  outparm   =   uf_chgmontoeng(long(s1))   +   "-"   +   uf_chgmontoeng(long(s2))  
  end   if  
  case   3  
  s1   =   mid(inparm,1,1)  
  s2   =   mid(inparm,2,2)  
  if   s2   <>   '00'   then  
  outparm   =   uf_chgmontoeng(long(s1))   +   "   hundred   and   "   +   uf_chgmontoeng(long(s2))  
  else  
  outparm   =   uf_chgmontoeng(long(s1))   +   "   hundred   "   +   uf_chgmontoeng(long(s2))  
  end   if  
  case   4  
  s1   =   mid(inparm,1,1)  
  s2   =   mid(inparm,2,3)  
  outparm   =   uf_chgmontoeng(long(s1))   +   "   thousand   "   +   uf_chgmontoeng(long(s2))  
  case   5  
  s1   =   mid(inparm,1,2)  
  s2   =   mid(inparm,3,3)  
  outparm   =   uf_chgmontoeng(long(s1))   +   "   thousand   "   +   uf_chgmontoeng(long(s2))  
  case   6  
  s1   =   mid(inparm,1,3)  
  s2   =   mid(inparm,4,3)  
  outparm   =   uf_chgmontoeng(long(s1))   +   "   thousand   "   +   uf_chgmontoeng(long(s2))  
  case   7  
  s1   =   mid(inparm,1,1)  
  s2   =   mid(inparm,2,6)  
  outparm   =   uf_chgmontoeng(long(s1))   +   "   million   "   +   uf_chgmontoeng(long(s2))  
  case   8  
  s1   =   mid(inparm,1,2)  
  s2   =   mid(inparm,3,6)  
  outparm   =   uf_chgmontoeng(long(s1))   +   "   million   "   +   uf_chgmontoeng(long(s2))  
  case   9  
  s1   =   mid(inparm,1,3)  
  s2   =   mid(inparm,4,6)  
  outparm   =   uf_chgmontoeng(long(s1))   +   "   million   "   +   uf_chgmontoeng(long(s2))  
  end   choose  
   
  //小数转换  
  if   inpoint   <>   '0.00'   then  
  if   long(inparm)   <>   0   then  
  outparm   =   outparm   +   "   point"  
  else  
  outparm   =   outparm   +   "zero   point"  
  end   if  
   
  inpoint   =   mid(inpoint,3,len(inpoint))  
  for   i   =   1   to   len(inpoint)  
  nn   =   long(mid(inpoint,i,1))  
  if   nn   =   0   then    
  if   i<>len(inpoint)   then  
  outparm   =   outparm   +   "   zero"    
  else  
  outparm   =   outparm  
  end   if  
              else  
  outparm   =   outparm   +   "   "   +dict_1[nn]  
  end   if  
  next  
  end   if  
  return   outparm  
  end   functionTop

相关问题

  • 十万火急!!!快救救我!全部98分奉献!
  • 大家救救我 啊 !!!十万火急!!!!i am big cai!!!
  • 十万火急!请高手们救救我吧。
  • 大哥,十万火急啊,请多指教。----所在地-----杭州
  • 各位大哥,帮帮忙啊,在线等待,十万火急!!!
  • Tomcat大哥,救救小妹
  • 大哥们,救救我吧!!!
  • 大哥救救我呀!急!
  • 天哪!救救我吧!哪位仁慈的老兄请高之哪儿有DELPHI免费下载?十万火急
  • 十万火急,哪位大師能救救命!!!送99分啦<zzllabc / cobi/ 各位大俠請進來>

关键词

  • 转换
  • pb
  • inparm
  • chgmontoeng
  • dict
  • outparm
  • uf
  • inpoint
  • mid
  • elseoutparm

得分解答快速导航

  • 帖主:sarrand

相关链接

  • PowerBuilder类图书
  • PowerBuilder类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo