网络编程
位置:首页>> 网络编程>> Asp编程>> asp金额大小写转换完全无错版

asp金额大小写转换完全无错版

  发布时间:2007-09-26 09:38:00 

标签:大小写,转换,金额,asp

金额大小写转换的asp完全无错版本,  这个版本解决了小数位不能到分的问题,处理方式符合会计方式,值得推荐!


<!--#include file=common.asp--> 
  <% 
  dim tmpnum 
  ’从第一张页面传过来的小写金额 
  tmpnum=request("page1num") 
  ’调用并显示大写金额 
  response.write rmb(cdbl(tmpnum)) 
  response.end 
  %> 



common.asp


<% 
  Function rmb(num) 
   
  num = FormatNumber(num, 2) 
  Dim numList 
  Dim rmbList 
  Dim numLen 
  Dim numChar 
  Dim numstr 
  Dim n 
  Dim n1, n2 
  Dim hz 
  numList = "零壹贰叁肆伍陆柒捌玖" 
  rmbList = "分角元拾佰仟万拾佰仟亿拾佰仟万" 
   
  If num > 9999999999999.99 Then 
   rmb = "超出范围的人民币值" 
   Exit Function 
  End If 
   
  numstr = CStr(num * 100) 
  numLen = Len(numstr) 
  n = 1 
  Do While n <= numLen 
   numChar = CInt(Mid(numstr, n, 1)) 
   n1 = Mid(numList, numChar + 1, 1) 
   n2 = Mid(rmbList, numLen - n + 1, 1) 
   If Not n1 = "零" Then 
   hz = hz + CStr(n1) + CStr(n2) 
   Else 
   If n2 = "亿" Or n2 = "万" Or n2 = "元" Or n1 = "零" Then 
   Do While Right(hz, 1) = "零" 
   hz = Left(hz, Len(hz) - 1) 
   Loop 
   End If 
   If (n2 = "亿" Or (n2 = "万" And Right(hz, 1) <> "亿") Or n2 = "元") Then 
   hz = hz + CStr(n2) 
   Else 
   If Left(Right(hz, 2), 1) = "零" Or Right(hz, 1) <> "亿" Then 
   hz = hz + n1 
   End If 
   End If 
   End If 
   n = n + 1 
  Loop 
  Do While Right(hz, 1) = "零" 
   hz = Left(hz, Len(hz) - 1) 
  Loop 
  If Right(hz, 1) = "元" Then 
   hz = hz + "整" 
  End If 
  rmb = hz 
  End Function 
   
  %> 


   


0
投稿

猜你喜欢

  • 错误类型: Microsoft JET Database Engine (0x80040E10) 至少一个参数没有被指定值。 原因:在写SQ
  • 也不一定,以前从来没有深入的研究过sql查询,最近买了一本T-SQL查询的书,把以前忽视的问题都记录一下 以前一直模模糊糊的把sqlserv
  • sql server中变量要先申明后赋值:局部变量用一个@标识,全局变量用两个@(常用的全局变量一般都是已经定义好的);申明局部变量语法:d
  • 模式库 在模式库里,我将列出所有电子商务网站需要的模式.以下将罗列出经典常用的模式案例,我也试图让这些模式看起来更有趣味性与实用性。(Yah
  • 代理服务是一种复杂的技术,具有很多可配置的移动组件。详细信息如下:信息信息是指在服务代理应用程序中调用的基本信息单元。对于服务代理来说,信息
  • 无论何时,IE总是让页面制作者感到那么的黯然销魂,尤其是IE6,IE7次之,虽然IE8已经做了很大的改进,但由于XP用户的数量实在太大,而且
  • 简介 函数式编程语言在学术领域已经存在相当长一段时间了,但是从历史上看,它们没有丰富的工具和库可供使用。随着 .NET 平台上的
  • clipboardData 对象提供了对于预定义的剪贴板格式的访问,以便在编辑操作中使用。成员表方法 描述 clearData 通过 dat
  • Application对象 Application对象是个应用程序级的对象,用来在所有用户间共享信息,并可以在Web应用程序运行期间持久地保
  • 准备软件:1. J2SDK(1.5.0): jdk-1_5_0-linux-i586-rpm.bin2. Apache(2.0.53): h
  • 1、灵活运用样式熟悉网页设计的网友就知道,调用Style的方法很多,我们可以单击鼠标右键选择Custon Style来调用Style标准,也
  • 安装 SQL2000 时,系统经常会提示:操作被挂起,要求重新启动计算机,如图1: 图1重新启动后,再次安装时问题仍然存在。解决办
  • 上一篇介绍了 HTML5 中 Canvas 的路径,这篇将要介绍一下 Canvas&nbs
  • 在 MySQL 中,数据库和表对应于那些目录下的目录和文件。因而,操作系统的敏感性决定数据库和表命名的大小写敏感。这就意味着数据库和表名在
  • 现在的离线浏览器很多,可是多数都是共享软件,或是英文软件,这给我们的操作带来了很大的不便。其实微软的网页制作工具FrontPage XP有一
  • 下列语句部分是Mssql语句,不可以在access中使用。SQL分类:DDL—数据定义语言(CREATE,ALTER,DROP,DECLAR
  • 这是由十几位视觉设计师设计的挂历,每个月份都是不同的风格,就像每个月都有不同温度和心情一样,思维跳跃性很大,可以作为挂历设计参考。当然,如果
  • 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的。比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信
  • /* --注意:准备数据(可略过,非常耗时) CREATE TABLE CHECK1_T1 ( ID INT, C1 CHAR(8000)
  • 客户端程序编写免不了经常接触XMLHttpRequest对象。微软的XHR实现的progid又是一串一串的。 烦人。抽一个中午时间,找了找资
手机版 网络编程 asp之家 www.aspxhome.com