今天心情不好,共享原代码

zdm1999 2003-03-02 04:14:10
'功能:将小写金额转换成大写金额
'环境:vb6.0下测试能通过

Private Const NUM_UNIT = "分角元拾佰仟万拾佰仟亿拾佰仟兆拾佰仟" '单位
Private Const NUM_VALUE = "零壹贰叁肆伍陆柒捌玖" '十个大写
Private Const HEAD_LABEL = "¥ " '字串的头部字符


'参数说明:doubleCurrNum 需转化的数值
' strErrInfo 返回错误信息
'     blnDisplayZero 是否要显示零 如:(显示零)壹佰 零拾 叁元 伍角 伍分 True 显示 False 不显示 默认值为Ture
' intSpaceNum 字符间的空格数,默认值为0
'返回值 :转换成功返回转换后的大写金额,转换失败返回vbNullString
Public Function CaseMoney(ByVal doubleCurrNum As Double, ByRef strErrInfo As String, Optional ByVal blnDisplayZero As Boolean = True, Optional ByVal intSpaceNum As Integer = 0) As String
Dim strTmp As String
Dim intI As Integer
Dim strRet As String

On Error GoTo CaseEnd

CaseMoney = vbNullString '初始化函数返回值

strTmp = Format(doubleCurrNum, "0.00") '格式化数值
strTmp = Left(strTmp, Len(strTmp) - 3) & Right(strTmp, 2) '去掉小数点

If Len(strTmp) > 18 Then
strErrInfo = "数值位数太多,不能处理!"
GoTo CaseEnd
End If

strRet = HEAD_LABEL

For intI = Len(strTmp) To 1 Step -1
If Not blnDisplayZero And intI > 2 And Asc(Mid(strTmp, Len(strTmp) - intI + 1, 1)) - 48 = 0 Then '是否显示零
Else
strRet = strRet & Mid(NUM_VALUE, Asc(Mid(strTmp, Len(strTmp) - intI + 1, 1)) - 48 + 1, 1) '取大写
strRet = strRet & Mid(NUM_UNIT, intI, 1) '取单位
strRet = strRet & Space(intSpaceNum) '取字符间空格数
End If
Next

CaseMoney = strRet

CaseEnd:
End Function
...全文
84 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
lixingyuaaa 2003-03-02
  • 打赏
  • 举报
回复
试试先
JICQ——Java即时通讯工具 ————供广大网友赏析 (0.61更新与补充说明版本说明) 近来忽闻,我的JICQ在CSDN上得到发布,惊喜之余,深表惭愧。喜的是:真没想到,我的JICQ居然会在CSDN的首页上出现。愧的是:我的QQ还有诸多功能尚未完善,却得到广大网友的错爱。这些将是我继续完善我的JICQ的强大动力! 今天发布一些关于JICQ在使用的注意事项、补充说明、与一个更新版本(0.61)。 我的JICQ其实已经被我改动了一下,让它更合理一些。只是由于一些因,没有及时发布,我现在马上发布到CSDN上。 改动如下: 1. 我已经去掉了JMF,那个东西太大了,本来只有几百K的程序因为它,一下子变成了接近2兆,对广大拨号上网的用户来说,实在太可怕了。 2. 对JICQServer启动命令行做了改动(在注意事项中说明)。 补充说明: 1. 关于跨平台能力:这本来是我用Java写这个ICQ工具的初衷,但由于本人只熟悉Windows平台,对其他系统不了解,虽然编译出了程序,但也不知道怎样来测试,如果有网友给与提供相关信息,我将感激不尽。 虽然我使用的SQL Server2000,但我的数据库结构比较简单,对数据库的查询使用的也是标准SQL——也是为了将来跨平台更容易些,所以可以使用其他数据库系统,我没试过,但我想应该可以。 2. 关于未完善之功能:由于时间、心情因,JICQ尚未完善,但毕竟已见雏形,我写这个东西,也只是一个偶然的机会,我现在正在考虑公开其代码。 3. 关于公开代码:我打算将源代码与完整的设计文档共享,以供广大网友学习Java使用。只是,现在时机尚未成熟,我也希望尽快给大家一个惊喜。 4. 关于Bug问题 由于时间较短,许多细节没有完善,不是我没有能力去写,只是现在太忙,没有精力。对于不完善的地方,请大家多多包涵。未完成之功能请参考提示1、2。 现仍寻求提示2中的解决方案。 注意事项: 1. 服务器端JICQ数据库,我采用的是MS SQL Server2000,数据库名称为JavaICQ,ODBC数据源名称为JavaICQ。 2. 服务器端JICQ启动命令行: JICQServer 用户名与密码分别为数据库系统的有效用户与密码 例:JICQServer sa 123 客户端JICQ需要在JVM或者JDK1.3.1的版本,千万不要在1.4.0的版本上运行,因为我发现在1.4.0以上运行Swing界面不好用。 提示1:未完成之功能列表(不是我不想写,只是没时间)。 1. 不支持“黑名单”功能。 2. 添加好友时,不向对方反馈消息,不提供身份校验。 3. 离线消息收发。 4. 聊天记录的管理。 5. 个人信息的管理等。 提示2:寻找解决方案 1. 服务器端JICQ的管理功能,比如系统管理员的日常维护、信息发布等功能。 2. 消息的加密措施,防止非法用户的恶意破解。 3. 客户端JICQ的本地聊天记录文件管理,希望能够找到安全性较高,效率也比较高的库管理方式。

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧