本帖最后由 police0909 于 2024-4-26 22:27 编辑
2024.4.26 20:07修改调试输出( 果心_数字到中文 (51500002002))
* “五百一十五亿二千零二”
启动 = 取启动时间 ()计次循环首 (1, )结果 = 果心_数字到中文 (51500002002 )计次循环尾 ()启动 = 取启动时间 () - 启动 调试输出 (启动, 结果 )变量名 | 类 型 | 静态 | 数组 | 备 注 | numArray | 文本型 | | 0 | chineseDigits | 文本型 | | 0 | chineseUnits | 文本型 | | 0 | chineseStr | 文本型 | | | len | 整数型 | | | i | 整数型 | | | ch | 文本型 | | 0 | chits | 整数型 | | | digit | 整数型 | | | unit | 整数型 | | | 零 | 逻辑型 | | | i0 | 整数型 | | | 数值文本 | 文本型 | | | its | 文本型 | | 0 | 取右 | 文本型 | | | chistr | 文本型 | | | io | | | | aa | 整数型 | | | 增值 | 逻辑型 | | |
数值文本 = 到文本 (数值 )len = 取文本长度 (数值文本 )判断循环首 (取文本长度 (数值文本 ) > 0 )取右 = 取文本右边 (数值文本, 4 )加入成员 (its, 取右 )数值文本 = 取文本左边 (数值文本, len - 4 )len = 取文本长度 (数值文本 )判断循环尾 () chineseDigits = { “一”, “二”, “三”, “四”, “五”, “六”, “七”, “八”, “九”, “零”, “” }chineseUnits = { “”, “十”, “百”, “千” }ch = { “”, “万”, “亿”, “万亿” } chits = 取数组成员数 (its )计次循环首 (chits, i0 )chistr = its [chits - i0 + 1 ]len = 文本_逐字分割_汇编 (chistr, numArray )零 = 假 增值 = 假 计次循环首 (len, i )digit = 到整数 (numArray [i ])判断 (len = i )aa = 0 判断 (digit = 0 )判断 (len = i )跳出循环 ()判断 (chits = i0 且 len - i = 1 )digit = 10 到循环尾 ()chineseStr = chineseStr + chineseDigits [digit]unit = len - i + 1 判断 (digit ≠ 10 )chineseStr = chineseStr + chineseUnits [unit ]零 = 假 判断 (零 )chineseStr = 取文本左边 (chineseStr, 取文本长度 (chineseStr ) - 2 )零 = 真 增值 = 真计次循环尾 ()判断 (chits ≠ i0 )判断 (取文本右边 (chineseStr, 2 ) = “零”)chineseStr = 取文本左边 (chineseStr, 取文本长度 (chineseStr ) - 2 )判断 (增值 = 真)chineseStr = chineseStr + ch [chits - i0 + 1 ]计次循环尾 ()判断 (取文本右边 (chineseStr, 2 ) = “零”)chineseStr = 取文本左边 (chineseStr, 取文本长度 (chineseStr ) - 2 )返回 (chineseStr )|
文本_逐字分割_汇编 | 整数型 | | |
参_内容 | 文本型 | | | | 参_文本数组 | 文本型 | | | | 如果真 (参_内容 = “”)返回 (0 )返回值 = 取空白文本 (取文本长度 (参_内容) × 2)置入代码 ({ 139, 69, 8, 139, 48, 139, 125, 252, 172, 168, 128, 117, 26, 60, 32, 116, 247, 60, 9, 116, 243, 60, 13, 116, 239, 60, 10, 116, 235, 132, 192, 116, 28, 170, 176, 9, 170, 235, 225, 60, 161, 117, 10, 134, 224, 172, 60, 161, 116, 214, 134, 224, 78, 170, 172, 170, 176, 9, 170, 235, 203, 49, 192, 170 })参_文本数组 = 分割文本 (返回值, 到文本 ({ 9 }), )返回 (取数组成员数 (参_文本数组 ))
变量名 | 类 型 | 静态 | 数组 | 备 注 | 局部_数字 | 长整数型 | | | 局部_亿文本数组 | 文本型 | | 0 | 局部_亿计次 | 整数型 | | | 局部_万文本数组 | 文本型 | | 0 | 局部_万计次 | 整数型 | | | 局部_参数 | 长整数型 | | | 局部_变量 | 长整数型 | | | 局部_文本 | 文本型 | | | 局部_万 | 长整数型 | | |
局部_亿文本数组 = 分割文本 (中文, “亿”, )计次循环首 (取数组成员数 (局部_亿文本数组 ), 局部_亿计次 )局部_万文本数组 = 分割文本 (局部_亿文本数组 [局部_亿计次 ], “万”, )局部_万 = 0 计次循环首 (取数组成员数 (局部_万文本数组 ), 局部_万计次 )局部_变量 = 0 局部_参数 = 寻找文本 (局部_万文本数组 [局部_万计次 ], “千”, , 假)如果真 (局部_参数 ≠ -1 )局部_变量 = 到数字 (取文本左边 (局部_万文本数组 [局部_万计次 ], 2 )) × 1000 局部_参数 = 寻找文本 (局部_万文本数组 [局部_万计次], “百”, , 假)如果真 (局部_参数 ≠ -1 )局部_变量 = 局部_变量 + 到数字 (取文本右边 (取文本左边 (局部_万文本数组 [局部_万计次 ], 局部_参数 - 1 ), 2 )) × 100 局部_参数 = 寻找文本 (局部_万文本数组 [局部_万计次], “十”, , 假)如果真 (局部_参数 ≠ -1 )局部_文本 = 取文本右边 (取文本左边 (局部_万文本数组 [局部_万计次 ], 局部_参数 - 1 ), 2 )如果 (局部_文本 = “”)局部_变量 = 局部_变量 + 10 局部_变量 = 局部_变量 + 到数字 (局部_文本 ) × 10 局部_文本 = 取文本右边 (局部_万文本数组 [局部_万计次], 2)如果真 (局部_文本 ≠ “千” 且 局部_文本 ≠ “百” 且 局部_文本 ≠ “十”)局部_变量 = 局部_变量 + 到数字 (局部_文本 )如果真 (寻找文本 (局部_亿文本数组 [局部_亿计次 ], “万”, , 假) ≠ -1 且 局部_万计次 = 1 )局部_变量 = 局部_变量 × 10000 局部_万 = 局部_万 + 局部_变量计次循环尾 ()局部_数字 = 局部_数字 + 局部_万 如果真 (寻找文本 (中文, “亿”, , 假) ≠ -1 且 局部_亿计次 = 1 )局部_数字 = 局部_变量 × 100000000 计次循环尾 ()返回 (局部_数字 )判断 (文本 = “一”)返回 (1 )判断 (文本 = “二”)返回 (2 )判断 (文本 = “三”)返回 (3 )判断 (文本 = “四”)返回 (4 )判断 (文本 = “五”)返回 (5 )判断 (文本 = “六”)返回 (6 )判断 (文本 = “七”)返回 (7 )判断 (文本 = “八”)返回 (8 )判断 (文本 = “九”)返回 (9 )返回 (0 )
|