为编程爱好者分享易语言教程源码的资源网
好用的代理IP,游戏必备 ____广告位招租____ 服务器99/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器
好用的代理IP,游戏必备 ____广告位招租____ 服务器低至38/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器

网站首页 > 易语言相关 > 易语言例程 正文

人民币小写金额到大写源码

三叶资源网 2019-04-19 10:53:22 易语言例程 2206 ℃ 2 评论

人民币小写金额到大写源码

@角落

.版本 2
.支持库 DeelxRegEx

.子程序 金额到大写, 文本型
.参数 小写金额, 文本型
.局部变量 integral, 文本型
.局部变量 decimal, 文本型
.局部变量 outputCharacters, 文本型
.局部变量 RegExp, 正则表达式DEELX
.局部变量 SearchResult, 搜索结果DEELX
.局部变量 parts, 文本型, , "0"
.局部变量 digits, 文本型, , "10"
.局部变量 radices, 文本型, , "4"
.局部变量 bigRadices, 文本型, , "3"
.局部变量 decimals, 文本型, , "2"
.局部变量 zeroCount, 整数型
.局部变量 i, 整数型
.局部变量 len, 整数型
.局部变量 p, 整数型
.局部变量 d, 文本型
.局部变量 quotient, 双精度小数型
.局部变量 modulus, 双精度小数型

.如果真 (小写金额 = “”)
    信息框 (“请输入小写金额!”, 0, , )
    返回 (“”)
.如果真结束
RegExp.创建 (“[^,.\d]”, , )
SearchResult = RegExp.查找匹配 (小写金额, )
.如果真 (取反 (SearchResult.是否为空 ()))
    信息框 (“小写金额含有无效字符!”, 0, , )
    返回 (“”)
.如果真结束
RegExp.创建 (“^((\d{1,3}(,\d{3})*(.((\d{3},)*\d{1,3}))?)|(\d+(.\d+)?))$”, , )
SearchResult = RegExp.查找匹配 (小写金额, )
.如果真 (SearchResult.是否为空 ())
    信息框 (“小写金额的格式不正确!”, 0, , )
    返回 (“”)
.如果真结束
小写金额 = 子文本替换 (小写金额, “,”, “”, , , 真)
RegExp.创建 (“^0+”, , )
小写金额 = RegExp.替换 (小写金额, “”, , )
.如果真 (到数值 (小写金额) > #MAXIMUM_NUMBER)
    信息框 (“金额过大,应小于1000亿元!”, 0, , )
    返回 (“”)
.如果真结束
parts = 分割文本 (小写金额, “.”, )
.如果 (取数组下标 (parts, ) > 1)
    integral = parts [1]
    decimal = parts [2]
    decimal = 取文本左边 (decimal, 2)
.否则
    integral = parts [1]
    decimal = “”
.如果结束
digits = { “零”, “壹”, “贰”, “叁”, “肆”, “伍”, “陆”, “柒”, “捌”, “玖” }
radices = { “”, “拾”, “佰”, “仟” }
bigRadices = { “”, “万”, “亿” }
decimals = { “角”, “分” }
.如果真 (到数值 (integral) > 0)
    len = 取文本长度 (integral)
    .计次循环首 (len, i)
        p = len - i
        d = 取文本中间 (integral, i, 1)
        quotient = p ÷ 4
        modulus = p % 4
        .如果 (d = “0”)
            zeroCount = zeroCount + 1
        .否则
            .如果真 (zeroCount > 0)
                outputCharacters = outputCharacters + digits [1]
            .如果真结束
            zeroCount = 0
            outputCharacters = outputCharacters + digits [到整数 (d) + 1] + radices [modulus + 1]

        .如果结束
        .如果真 (modulus = 0 且 zeroCount < 4)
            outputCharacters = outputCharacters + bigRadices [quotient + 1]
            zeroCount = 0
        .如果真结束

    .计次循环尾 ()
    outputCharacters = outputCharacters + “元”
.如果真结束
i = 0
.如果真 (decimal ≠ “”)
    len = 取文本长度 (decimal)
    .计次循环首 (len, i)
        d = 取文本中间 (decimal, i, 1)
        .如果真 (d ≠ “0”)
            outputCharacters = outputCharacters + digits [到数值 (d) + 1] + decimals [i]
        .如果真结束

    .计次循环尾 ()
.如果真结束
.如果真 (outputCharacters = “”)
    outputCharacters = “零元”
.如果真结束
.如果真 (decimal = “”)
    outputCharacters = outputCharacters + “整”
.如果真结束
outputCharacters = “人民币” + outputCharacters
返回 (outputCharacters)

人民币小写金额到大写.png    

文件下载

来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575

已有2位网友发表了看法:

欢迎 发表评论:

百度站内搜索
关注微信公众号
三叶资源网⑤群:三叶资源网⑤群

网站分类
随机tag
web浏览器防抓包例程POST例程多线程PING​百合网注册腾讯关键词检测网易clientTokenQQ好友批量点名片赞API例程考勤机易语言版本借呗修改MP3文件摘要宫格数学题XUIJSON蓝奏云htmlHelp按键精灵基础练习源码.
最新评论