CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  PowerBuilder >  基础类

请问各位有没有谁写过金额转成英文的程序呢?

楼主chzai(想我就罵我)2005-12-26 16:06:45 在 PowerBuilder / 基础类 提问

请问各位有没有谁写过金额转成英文的程序呢?如有能发一个给小弟啊,小弟现在要急用,先谢谢各位了。chzai@126.com 问题点数:50、回复次数:4Top

1 楼wu_07(一只狗不孤单,想一只狗才孤单)回复于 2005-12-26 16:15:50 得分 50

参考:  
   
  //*   将数字转换成英文大写   *//  
  //   字符型参数:aS_IN  
  //   返回值字符型:LS_OUT  
  String   ls_out,ls_hun,ls_ten,ls_one,LS_ADD  
  Int   li_num,li_one,li_ten,li_hun,LI_IN,i,j,k  
  //ls_out="   KGS   ONLY"  
  i   =   1  
  aS_IN   =   TRIM(aS_IN)//*  
  If   aS_IN   =   "0"   Or   aS_IN   =   ''   Or   IsNull(aS_IN)   Then  
  ls_out   =   "ZERO"   +   ls_out  
  Else  
  Do   While   aS_IN   <>   ""  
  li_num   =   Long(Right(aS_IN,3))  
  li_hun   =   Int(li_num   /   100)                               //百位  
  li_ten   =   Int(Mod(li_num,100)   /   10)               //十位  
  li_one   =   Mod(li_num,10)                                     //个位  
      If   li_hun   >   0   Then  
  Choose   Case   li_hun  
  case   1  
  ls_hun   =   "ONE   HUNDRED   "  
  case   2  
  ls_hun   =   "TWO   HUNDRED   "  
  case   3  
  ls_hun   =   "THREE   HUNDRED   "  
  case   4  
  ls_hun   =   "FOUR   HUNDRED   "  
  case   5  
  ls_hun   =   "FIVE   HUNDRED   "  
  case   6  
  ls_hun   =   "SIX   HUNDRED   "  
  case   7  
  ls_hun   =   "SEVEN   HUNDRED   "  
  case   8  
  ls_hun   =   "EIGHT   HUNDRED   "  
  case   9  
  ls_hun   =   "NINE   HUNDRED   "    
  End   Choose  
  Else  
  ls_hun   =   ""  
      End   If  
      If   li_ten   >   0   Then  
  LS_ADD   =   ""//*  
  Choose   Case   li_ten  
  Case   1  
  Choose   Case   li_one  
  Case   0  
  LS_ADD   =   "TEN   "  
  CASE   1  
  LS_ADD   =   "ELEVEN   "  
  CASE   2  
  LS_ADD   =   "TWELVE   "  
  CASE   3  
  LS_ADD   =   "THIRTEEEN   "  
  CASE   4  
  LS_ADD   =   "FORTEEN   "  
  CASE   5  
  LS_ADD   =   "FIFTEEN   "  
  CASE   6  
  LS_ADD   =   "SIXTEEN   "  
  CASE   7  
  LS_ADD   =   "SEVENTEEN   "  
  CASE   8  
  LS_ADD   =   "EIGHTEEN   "  
  CASE   9  
  LS_ADD   =   "NINTEEN   "  
  END   CHOOSE  
      CASE   2  
  LS_TEN   =   "TWENTY"  
  CASE   3  
  LS_TEN   =   "THIRTY"  
  CASE   4  
  LS_TEN   =   "FORTY"  
  CASE   5  
  LS_TEN   =   "FIFTY"  
  CASE   6  
  LS_TEN   =   "SIXTY"  
  CASE   7  
  LS_TEN   =   "SEVENTY"  
  CASE   8  
  LS_TEN   =   "EIGHTY"  
  CASE   9  
  LS_TEN   =   "NINTY"  
      END   CHOOSE  
      IF   LI_ONE   >   0   THEN  
  CHOOSE   CASE   LI_ONE  
  CASE   1  
  LS_ONE   =   "ONE   "  
  CASE   2  
  LS_ONE   =   "TWO   "  
  CASE   3  
  LS_ONE   =   "THREE   "  
  CASE   4  
  LS_ONE   =   "FOUR   "  
  CASE   5  
  LS_ONE   =   "FIVE   "  
  CASE   6  
  LS_ONE   =   "SIX   "  
  CASE   7  
  LS_ONE   =   "SEVEN   "  
  CASE   8  
  LS_ONE   =   "EIGHT   "  
  CASE   9  
  LS_ONE   =   "NINE   "  
      END   CHOOSE  
      ELSE  
      LS_ONE   =   ""  
      END   IF  
  ELSE  
      LS_TEN   =   ""  
  IF   LI_ONE   >   0   THEN  
  CHOOSE   CASE   LI_ONE  
  CASE   1  
  LS_ONE   =   "ONE   "  
  CASE   2  
  LS_ONE   =   "TWO   "  
  CASE   3  
  LS_ONE   =   "THREE   "  
  CASE   4  
  LS_ONE   =   "FOUR   "  
  CASE   5  
  LS_ONE   =   "FIVE   "  
  CASE   6  
  LS_ONE   =   "SIX   "  
  CASE   7  
  LS_ONE   =   "SEVEN   "  
  CASE   8  
  LS_ONE   =   "EIGHT   "  
  CASE   9  
  LS_ONE   =   "NINE   "  
  END   CHOOSE  
      ELSE  
      LS_ONE   =   ""  
      END   IF  
      END   IF  
      IF   LS_ADD   =   ""   THEN  
      LS_ADD   =   LS_TEN   +   LS_ONE  
      IF   LS_HUN   <>   ""   AND   LS_ADD   <>   ""   THEN  
            LS_OUT   =   LS_HUN   +   "   AND   "   +   LS_ADD   +   LS_OUT      
            ELSE  
            LS_OUT   =   LS_HUN   +   LS_ADD   +   LS_OUT  
            END   IF  
      ELSE  
      IF   LS_HUN   <>   ""   AND   LS_ADD   <>   ""   THEN  
            LS_OUT   =   LS_HUN   +   "   AND   "   +   LS_ADD   +   LS_OUT      
            ELSE  
            LS_OUT   =   LS_HUN   +   LS_ADD   +   LS_OUT  
            END   IF  
      END   IF  
      LS_ADD   =   ""  
      LS_TEN   =   ""  
      LS_HUN   =   ""  
      J   =   LEN(aS_IN)   -   3  
      aS_IN   =   LEFT(aS_IN,J)  
      IF   aS_IN   <>   ""   THEN  
      CHOOSE   CASE   I                                     //用于写百万,千等  
        CASE   1  
      LS_OUT   =   "THOUSAND   "   +   LS_OUT  
      CASE   2  
      LS_OUT   =   "MILLION   AND   "   +   LS_OUT  
      END   CHOOSE  
      I   =   I   +   1  
      END   IF                                                             //       //         //  
  Loop  
  End   If  
  //ls_out   =   "SAY   "   +   ls_out  
  return(ls_out)Top

2 楼chzai(想我就罵我)回复于 2005-12-26 16:38:54 得分 0

先谢谢    wu_07(一只狗不孤单,想一只狗才孤单)    
  但好像有小数位的不能显示出小数点后的数据,有没有谁还有更完整的呢?Top

3 楼chzai(想我就罵我)回复于 2005-12-27 00:15:09 得分 0

各位兄弟姐妹进来说说啊!!Top

4 楼jojophak(我不是随便的人)回复于 2006-01-03 16:10:27 得分 0

没写过  
  你用在什么地方?Top

相关问题

  • 贴一个将数字金额转成英文大写金额的函数
  • 100分求解:求一个数字转成英文的程序
  • 偶想把小写金额转成中文大写及英文表示,100分损散
  • 如何将下面一段DELPHI程序转成VB程序?
  • Delphi程序转成C#程序的问题,请达人指点!
  • 如何把中文的工程转成英文的工程!
  • 请大侠们帮我把这段VBSCRITP的程序转成JScript的程序!
  • 请问有没有将C++程序转成C程序的工具?
  • 如何将asp程序转成EXE文件?有工具吗?
  • 把数据库从access转成sql sever2000 后asp程序出错?!

关键词

  • ls
  • hun
  • li
  • hundred
  • ten
  • case
  • 英文
  • choose
  • 没有谁
  • add

得分解答快速导航

  • 帖主:chzai
  • wu_07

相关链接

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

广告也精彩

反馈

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