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

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
...全文
97 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
lixingyuaaa 2003-03-02
  • 打赏
  • 举报
回复
试试先
内容概要:本文详细介绍了利用Simulink进行变压器开路试验的电路连接配置与仿真实现方法,重点在于通过仿真手段还实际电力系统中变压器在空载条件下的电气特性,从而深入理解其工作理与性能表现。文章作为电力系统仿真系列研究的一部分,系统阐述了从电路模型搭建、参数设定、仿真运行到结果分析的完整流程,突出展示了MATLAB/Simulink在电力设备建模与教学科研中的强大功能与应用价值。; 适合人群:具备电力系统基础知识,熟悉MATLAB/Simulink仿真环境,从事电气工程、自动化及相关领域的研发人员,以及高年级本科生和研究生。; 使用场景及目标:①掌握变压器开路试验的基本理与Simulink仿真建模的具体步骤;②通过仿真实验深入理解空载电流、铁芯损耗及励磁特性等关键参数的物理意义;③为后续开展变压器短路试验、暂态过程分析以及其他电力设备的仿真研究奠定理论与实践基础。; 阅读建议:建议结合Simulink软件动手实践,逐步构建并调试电路模型,重点关注各元件参数的设置方法与测量模块的应用技巧,同时推荐参考文中提及的其他相关仿真案例进行拓展学习,以全面提升对电力系统仿真实践的整体认知与操作能力。

7,789

社区成员

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

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