[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 12# netbenton


    制作了一段测试代码,使用了自己生成的测试数据集,经过比对,正确率非常高
  1. @echo off&setlocal enabledelayedexpansion
  2. set capital=零壹贰叁肆伍陆柒捌玖
  3. set unit=仟佰拾万仟佰拾亿仟佰拾万仟佰拾元角分
  4. :测试
  5. for /f "tokens=1,2 delims=¥ " %%y in ('findstr "^¥" %~sf0') do (
  6. call :转换 %%y
  7. echo. 小写:%%y  大写:!返回! >> %0.log
  8. if not "人民币!返回!"=="%%z" (
  9. echo %%y 转换异常 返回:!返回! 参考:%%z
  10. echo %%y 转换异常 返回:!返回! 参考:%%z>> %0.log
  11. )
  12. )
  13. pause>nul
  14. goto :eof
  15. :转换
  16. setlocal enabledelayedexpansion
  17. set n=0&set en=
  18. set num=%1
  19. set int=%num:.=&set dec=%
  20. set dec=!dec!00
  21. set num=!int!!dec:~0,2!
  22. if not "%int:~16%$" == "$" echo 靠!你太高估我的能力啦!&pause>nul&goto :eof
  23. for /l %%i in (-1,-1,-18) do (
  24.         for /f %%a in ("!num:~%%i,1!") do (
  25.                 set en=!capital:~%%a,1!!unit:~%%i,1!!en!
  26.         )
  27.         if "!num:~%%i!" equ "!num!" goto :ok
  28. )
  29. :ok
  30. set en=@!en:零角零分=整!
  31. for %%i in (拾,佰,仟,角,零,零) do set en=!en:零%%i=零!
  32. for %%i in (亿,万,元) do set en=!en:零%%i=%%i!
  33. set en=!en:零分=!&set en=!en:亿万=亿!&set en=!en:@元=@!&set en=!en:@零=@!
  34. endlocal & set 返回=%en:@=%
  35. goto :eof
  36. :: 人民币金额大小写转换测试集
  37. ¥0 人民币零元整
  38. ¥1 人民币壹元整
  39. ¥2 人民币贰元整
  40. ¥3 人民币叁元整
  41. ¥4 人民币肆元整
  42. ¥5 人民币伍元整
  43. ¥6 人民币陆元整
  44. ¥7 人民币柒元整
  45. ¥8 人民币捌元整
  46. ¥9 人民币玖元整
  47. ¥10 人民币壹拾元整
  48. ¥100 人民币壹佰元整
  49. ¥1000 人民币壹仟元整
  50. ¥10000 人民币壹万元整
  51. ¥100000 人民币壹拾万元整
  52. ¥1000000 人民币壹佰万元整
  53. ¥10000000 人民币壹仟万元整
  54. ¥100000000 人民币壹亿元整
  55. ¥1000000000 人民币壹拾亿元整
  56. ¥10000000000 人民币壹佰亿元整
  57. ¥100000000000 人民币壹仟亿元整
  58. ¥1000000000000 人民币壹万亿元整
  59. ¥11 人民币壹拾壹元整
  60. ¥101 人民币壹佰零壹元整
  61. ¥111 人民币壹佰壹拾壹元整
  62. ¥1001 人民币壹仟零壹元整
  63. ¥1010 人民币壹仟零壹拾元整
  64. ¥1011 人民币壹仟零壹拾壹元整
  65. ¥1100 人民币壹仟壹佰元整
  66. ¥1101 人民币壹仟壹佰零壹元整
  67. ¥1111 人民币壹仟壹佰壹拾壹元整
  68. ¥10001 人民币壹万零壹元整
  69. ¥10010 人民币壹万零壹拾元整
  70. ¥10100 人民币壹万零壹佰元整
  71. ¥11000 人民币壹万壹仟元整
  72. ¥11100 人民币壹万壹仟壹佰元整
  73. ¥11110 人民币壹万壹仟壹佰壹拾元整
  74. ¥11111 人民币壹万壹仟壹佰壹拾壹元整
  75. ¥100001 人民币壹拾万零壹元整
  76. ¥100010 人民币壹拾万零壹拾元整
  77. ¥100100 人民币壹拾万零壹佰元整
  78. ¥101000 人民币壹拾万零壹仟元整
  79. ¥110000 人民币壹拾壹万元整
  80. ¥110001 人民币壹拾壹万零壹元整
  81. ¥110010 人民币壹拾壹万零壹拾元整
  82. ¥110100 人民币壹拾壹万零壹佰元整
  83. ¥111000 人民币壹拾壹万壹仟元整
  84. ¥100000001 人民币壹亿零壹元整
  85. ¥1000000001 人民币壹拾亿零壹元整
  86. ¥1000000010 人民币壹拾亿零壹拾元整
  87. ¥1000001000 人民币壹拾亿零壹仟元整
  88. ¥1000010000 人民币壹拾亿零壹万元整
  89. ¥1000100000 人民币壹拾亿零壹拾万元整
  90. ¥1010000000 人民币壹拾亿零壹仟万元整
  91. ¥0.0 人民币零元整
  92. ¥0.1 人民币壹角
  93. ¥0.01 人民币壹分
  94. ¥0.10 人民币壹角
  95. ¥1.1 人民币壹元壹角
  96. ¥10.1 人民币壹拾元零壹角
  97. ¥11.1 人民币壹拾壹元壹角
  98. ¥10.01 人民币壹拾元零壹分
  99. ¥11.01 人民币壹拾壹元零壹分
  100. ¥100.1 人民币壹佰元零壹角
  101. ¥100.01 人民币壹佰元零壹分
  102. ¥1000.1 人民币壹仟元零壹角
  103. ¥1000.01 人民币壹仟元零壹分
  104. ¥10000.1 人民币壹万元零壹角
  105. ¥10000.01 人民币壹万元零壹分
  106. ¥100000.1 人民币壹拾万元零壹角
  107. ¥100000.01 人民币壹拾万元零壹分
  108. ¥.1 人民币壹角
  109. ¥.01 人民币壹分
复制代码
小写:0  大写:整
0 转换异常 返回:整 参考:人民币零元整
小写:1  大写:壹元整
小写:2  大写:贰元整
小写:3  大写:叁元整
小写:4  大写:肆元整
小写:5  大写:伍元整
小写:6  大写:陆元整
小写:7  大写:柒元整
小写:8  大写:捌元整
小写:9  大写:玖元整
小写:10  大写:壹拾元整
小写:100  大写:壹佰元整
小写:1000  大写:壹仟元整
小写:10000  大写:壹万元整
小写:100000  大写:壹拾万元整
小写:1000000  大写:壹佰万元整
小写:10000000  大写:壹仟万元整
小写:100000000  大写:壹亿元整
小写:1000000000  大写:壹拾亿元整
小写:10000000000  大写:壹佰亿元整
小写:100000000000  大写:壹仟亿元整
小写:1000000000000  大写:壹万亿元整
小写:11  大写:壹拾壹元整
小写:101  大写:壹佰零壹元整
小写:111  大写:壹佰壹拾壹元整
小写:1001  大写:壹仟零壹元整
小写:1010  大写:壹仟零壹拾元整
小写:1011  大写:壹仟零壹拾壹元整
小写:1100  大写:壹仟壹佰元整
小写:1101  大写:壹仟壹佰零壹元整
小写:1111  大写:壹仟壹佰壹拾壹元整
小写:10001  大写:壹万零壹元整
小写:10010  大写:壹万零壹拾元整
小写:10100  大写:壹万零壹佰元整
小写:11000  大写:壹万壹仟元整
小写:11100  大写:壹万壹仟壹佰元整
小写:11110  大写:壹万壹仟壹佰壹拾元整
小写:11111  大写:壹万壹仟壹佰壹拾壹元整
小写:100001  大写:壹拾万零壹元整
小写:100010  大写:壹拾万零壹拾元整
小写:100100  大写:壹拾万零壹佰元整
小写:101000  大写:壹拾万壹仟元整
101000 转换异常 返回:壹拾万壹仟元整 参考:人民币壹拾万零壹仟元整
小写:110000  大写:壹拾壹万元整
小写:110001  大写:壹拾壹万零壹元整
小写:110010  大写:壹拾壹万零壹拾元整
小写:110100  大写:壹拾壹万零壹佰元整
小写:111000  大写:壹拾壹万壹仟元整
小写:100000001  大写:壹亿零壹元整
小写:1000000001  大写:壹拾亿零壹元整
小写:1000000010  大写:壹拾亿零壹拾元整
小写:1000001000  大写:壹拾亿壹仟元整
1000001000 转换异常 返回:壹拾亿壹仟元整 参考:人民币壹拾亿零壹仟元整
小写:1000010000  大写:壹拾亿零壹万元整
小写:1000100000  大写:壹拾亿零壹拾万元整
小写:1010000000  大写:壹拾亿壹仟万元整
1010000000 转换异常 返回:壹拾亿壹仟万元整 参考:人民币壹拾亿零壹仟万元整
小写:0.0  大写:整
0.0 转换异常 返回:整 参考:人民币零元整
小写:0.1  大写:壹角
小写:0.01  大写:壹分
小写:0.10  大写:壹角
小写:1.1  大写:壹元壹角
小写:10.1  大写:壹拾元壹角
10.1 转换异常 返回:壹拾元壹角 参考:人民币壹拾元零壹角
小写:11.1  大写:壹拾壹元壹角
小写:10.01  大写:壹拾元零壹分
小写:11.01  大写:壹拾壹元零壹分
小写:100.1  大写:壹佰元壹角
100.1 转换异常 返回:壹佰元壹角 参考:人民币壹佰元零壹角
小写:100.01  大写:壹佰元零壹分
小写:1000.1  大写:壹仟元壹角
1000.1 转换异常 返回:壹仟元壹角 参考:人民币壹仟元零壹角
小写:1000.01  大写:壹仟元零壹分
小写:10000.1  大写:壹万元壹角
10000.1 转换异常 返回:壹万元壹角 参考:人民币壹万元零壹角
小写:10000.01  大写:壹万元零壹分
小写:100000.1  大写:壹拾万元壹角
100000.1 转换异常 返回:壹拾万元壹角 参考:人民币壹拾万元零壹角
小写:100000.01  大写:壹拾万元零壹分
天的白色影子

TOP

返回列表