本帖最后由 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 )
|