| Set/p 就是调用=请输入人民币的阿拉伯数字(只支持小数点后两位): |
| Call,:RMB %就是调用% |
| :RMB |
| Set R=%~1 |
| REM 百度得出中文单位分别是:清净(10的负二十一次方)、虚空、六德、刹那、弹指、瞬息、须臾、逡巡、模糊、漠、渺、埃、尘、沙、纤、微、忽、丝、毫、厘、分、零、壹、贰、叁、肆、伍、陆、柒、捌、玖、分、角、圆、拾、佰、仟、萬、亿、兆、京、垓、秭、穰、沟、涧、正、载、极(10的四十八次方) |
| Echo %R%|Find "." >Nul && Goto,RMB角分 |
| :RMBB |
| Echo %~1|FindStr "^[0-9]*$">Nul || Echo 非法输入!按任意键退出!&&Pause>Nul&&Exit |
| Set RMB检测= |
| Set RMB检测=%~1 |
| Set RMB窗口= |
| Set RMB窗口=%~1 |
| Set 大写= |
| REM 下个单位变量决定你怎么表达货币单位。以及是否加空格、、、 |
| Set "单位=圆 " |
| :RMB位数 |
| Set RMB窗口=%RMB窗口:~1% |
| Set/a RMB位数+=1 |
| If Not "%RMB窗口%"=="" Goto,RMB位数 |
| Echo.输入:%R% |
| :RMB循环 |
| Set/a RMB位数-=1 |
| Call,:RMB转换 %RMB检测:~0,1% %RMB位数% |
| Set RMB检测=%RMB检测:~1% |
| If Not "%RMB检测%"=="" Goto,RMB循环 |
| If "%角%"=="1" Set/p="壹角"<Nul&Set 大写=%大写%壹角 |
| If "%角%"=="2" Set/p="贰角"<Nul&Set 大写=%大写%贰角 |
| If "%角%"=="3" Set/p="叁角"<Nul&Set 大写=%大写%叁角 |
| If "%角%"=="4" Set/p="肆角"<Nul&Set 大写=%大写%肆角 |
| If "%角%"=="5" Set/p="伍角"<Nul&Set 大写=%大写%伍角 |
| If "%角%"=="6" Set/p="陆角"<Nul&Set 大写=%大写%陆角 |
| If "%角%"=="7" Set/p="柒角"<Nul&Set 大写=%大写%柒角 |
| If "%角%"=="8" Set/p="捌角"<Nul&Set 大写=%大写%捌角 |
| If "%角%"=="9" Set/p="玖角"<Nul&Set 大写=%大写%玖角 |
| If "%分%"=="1" Set/p="壹分"<Nul&Set 大写=%大写%壹分 |
| If "%分%"=="2" Set/p="贰分"<Nul&Set 大写=%大写%贰分 |
| If "%分%"=="3" Set/p="叁分"<Nul&Set 大写=%大写%叁分 |
| If "%分%"=="4" Set/p="肆分"<Nul&Set 大写=%大写%肆分 |
| If "%分%"=="5" Set/p="伍分"<Nul&Set 大写=%大写%伍分 |
| If "%分%"=="6" Set/p="陆分"<Nul&Set 大写=%大写%陆分 |
| If "%分%"=="7" Set/p="柒分"<Nul&Set 大写=%大写%柒分 |
| If "%分%"=="8" Set/p="捌分"<Nul&Set 大写=%大写%捌分 |
| If "%分%"=="9" Set/p="玖分"<Nul&Set 大写=%大写%玖分 |
| Echo.&Echo.-----------------------&Set /p RMB复制= 按C复制RMB大写。 |
| If /i "%RMB复制%"=="c" Set/p="%大写%"<Nul|Clip |
| REM 这里是脚本结尾 ,%大写% 是转换后的变量,上诉命令和写法都有很多编排和写发上的不足,希望大神们完善(反正我是懒得继续完善了)。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 |
| Pause>Nul & Exit |
| :RMB转换 |
| If "%~1"=="0" Goto,RMB零 |
| If "%~1"=="1" Set/p="壹"<Nul&Set 大写=%大写%壹 |
| If "%~1"=="2" Set/p="贰"<Nul&Set 大写=%大写%贰 |
| If "%~1"=="3" Set/p="叁"<Nul&Set 大写=%大写%叁 |
| If "%~1"=="4" Set/p="肆"<Nul&Set 大写=%大写%肆 |
| If "%~1"=="5" Set/p="伍"<Nul&Set 大写=%大写%伍 |
| If "%~1"=="6" Set/p="陆"<Nul&Set 大写=%大写%陆 |
| If "%~1"=="7" Set/p="柒"<Nul&Set 大写=%大写%柒 |
| If "%~1"=="8" Set/p="捌"<Nul&Set 大写=%大写%捌 |
| If "%~1"=="9" Set/p="玖"<Nul&Set 大写=%大写%玖 |
| If "%~2"=="51" Set/p="仟"<Nul&Set 大写=%大写%仟 |
| If "%~2"=="50" Set/p="佰"<Nul&Set 大写=%大写%佰 |
| If "%~2"=="49" Set/p="拾"<Nul&Set 大写=%大写%拾 |
| If "%~2"=="48" Set/p="极"<Nul&Set 大写=%大写%极&Set 位=1&Goto,:Eof |
| If "%~2"=="47" Set/p="仟"<Nul&Set 大写=%大写%仟 |
| If "%~2"=="46" Set/p="佰"<Nul&Set 大写=%大写%佰 |
| If "%~2"=="45" Set/p="拾"<Nul&Set 大写=%大写%拾 |
| If "%~2"=="44" Set/p="载"<Nul&Set 大写=%大写%载&Set 位=1&Goto,:Eof |
| If "%~2"=="43" Set/p="仟"<Nul&Set 大写=%大写%仟 |
| If "%~2"=="42" Set/p="佰"<Nul&Set 大写=%大写%佰 |
| If "%~2"=="41" Set/p="拾"<Nul&Set 大写=%大写%拾 |
| If "%~2"=="40" Set/p="正"<Nul&Set 大写=%大写%正&Set 位=1&Goto,:Eof |
| If "%~2"=="39" Set/p="仟"<Nul&Set 大写=%大写%仟 |
| If "%~2"=="38" Set/p="佰"<Nul&Set 大写=%大写%佰 |
| If "%~2"=="37" Set/p="拾"<Nul&Set 大写=%大写%拾 |
| If "%~2"=="36" Set/p="涧"<Nul&Set 大写=%大写%涧&Set 位=1&Goto,:Eof |
| If "%~2"=="35" Set/p="仟"<Nul&Set 大写=%大写%仟 |
| If "%~2"=="34" Set/p="佰"<Nul&Set 大写=%大写%佰 |
| If "%~2"=="33" Set/p="拾"<Nul&Set 大写=%大写%拾 |
| If "%~2"=="32" Set/p="沟"<Nul&Set 大写=%大写%沟&Set 位=1&Goto,:Eof |
| If "%~2"=="31" Set/p="仟"<Nul&Set 大写=%大写%仟 |
| If "%~2"=="30" Set/p="佰"<Nul&Set 大写=%大写%佰 |
| If "%~2"=="29" Set/p="拾"<Nul&Set 大写=%大写%拾 |
| If "%~2"=="28" Set/p="穰"<Nul&Set 大写=%大写%穰&Set 位=1&Goto,:Eof |
| If "%~2"=="27" Set/p="仟"<Nul&Set 大写=%大写%仟 |
| If "%~2"=="26" Set/p="佰"<Nul&Set 大写=%大写%佰 |
| If "%~2"=="25" Set/p="拾"<Nul&Set 大写=%大写%拾 |
| If "%~2"=="24" Set/p="秭"<Nul&Set 大写=%大写%秭&Set 位=1&Goto,:Eof |
| If "%~2"=="23" Set/p="仟"<Nul&Set 大写=%大写%仟 |
| If "%~2"=="22" Set/p="佰"<Nul&Set 大写=%大写%佰 |
| If "%~2"=="21" Set/p="拾"<Nul&Set 大写=%大写%拾 |
| If "%~2"=="20" Set/p="垓"<Nul&Set 大写=%大写%垓&Set 位=1&Goto,:Eof |
| If "%~2"=="19" Set/p="仟"<Nul&Set 大写=%大写%仟 |
| If "%~2"=="18" Set/p="佰"<Nul&Set 大写=%大写%佰 |
| If "%~2"=="17" Set/p="拾"<Nul&Set 大写=%大写%拾 |
| If "%~2"=="16" Set/p="京"<Nul&Set 大写=%大写%京&Set 位=1&Goto,:Eof |
| If "%~2"=="15" Set/p="仟"<Nul&Set 大写=%大写%仟 |
| If "%~2"=="14" Set/p="佰"<Nul&Set 大写=%大写%佰 |
| If "%~2"=="13" Set/p="拾"<Nul&Set 大写=%大写%拾 |
| If "%~2"=="12" Set/p="兆"<Nul&Set 大写=%大写%兆&Set 位=1&Goto,:Eof |
| If "%~2"=="11" Set/p="仟"<Nul&Set 大写=%大写%仟 |
| If "%~2"=="10" Set/p="佰"<Nul&Set 大写=%大写%佰 |
| If "%~2"=="9" Set/p="拾"<Nul&Set 大写=%大写%拾 |
| If "%~2"=="8" Set/p="亿"<Nul&Set 大写=%大写%亿&Set 位=1&Goto,:Eof |
| If "%~2"=="7" Set/p="仟"<Nul&Set 大写=%大写%仟 |
| If "%~2"=="6" Set/p="佰"<Nul&Set 大写=%大写%佰 |
| If "%~2"=="5" Set/p="拾"<Nul&Set 大写=%大写%拾 |
| If "%~2"=="4" Set/p="萬"<Nul&Set 大写=%大写%萬&Set 位=1&Set 零=0&Goto,:Eof |
| If "%~2"=="3" Set/p="仟"<Nul&Set 大写=%大写%仟 |
| If "%~2"=="2" Set/p="佰"<Nul&Set 大写=%大写%佰 |
| If "%~2"=="1" Set/p="拾"<Nul&Set 大写=%大写%拾 |
| If "%~2"=="0" Set/p="%单位%"<Nul&Set "大写=%大写%%单位%" |
| Set "零=0"&Set "位=0" |
| Goto,:Eof |
| :RMB零 |
| Set 后零=%RMB检测:~1,1% |
| If "%后零%"=="" Set "零=1" |
| If "%~2"=="0" Set/p="%单位%"<Nul&Set "大写=%大写%%单位%" |
| If "%~2"=="4" If "%位%"=="0" Set/p="萬"<Nul&Set 大写=%大写%萬&Set 位=1&Set 零=0&Goto,:Eof |
| If "%~2"=="8" If "%位%"=="0" Set/p="亿"<Nul&Set 大写=%大写%亿&Set 位=1&Set 零=1&Goto,:Eof |
| If "%~2"=="12" If "%位%"=="0" Set/p="兆"<Nul&Set 大写=%大写%兆&Set 位=1&Set 零=1&Goto,:Eof |
| If "%~2"=="16" If "%位%"=="0" Set/p="京"<Nul&Set 大写=%大写%京&Set 位=1&Set 零=1&Goto,:Eof |
| If "%~2"=="20" If "%位%"=="0" Set/p="垓"<Nul&Set 大写=%大写%垓&Set 位=1&Set 零=1&Goto,:Eof |
| If "%~2"=="24" If "%位%"=="0" Set/p="秭"<Nul&Set 大写=%大写%秭&Set 位=1&Set 零=1&Goto,:Eof |
| If "%~2"=="28" If "%位%"=="0" Set/p="穰"<Nul&Set 大写=%大写%穰&Set 位=1&Set 零=1&Goto,:Eof |
| If "%~2"=="32" If "%位%"=="0" Set/p="沟"<Nul&Set 大写=%大写%沟&Set 位=1&Set 零=1&Goto,:Eof |
| If "%~2"=="36" If "%位%"=="0" Set/p="涧"<Nul&Set 大写=%大写%涧&Set 位=1&Set 零=1&Goto,:Eof |
| If "%~2"=="40" If "%位%"=="0" Set/p="正"<Nul&Set 大写=%大写%正&Set 位=1&Set 零=1&Goto,:Eof |
| If "%~2"=="44" If "%位%"=="0" Set/p="载"<Nul&Set 大写=%大写%载&Set 位=1&Set 零=1&Goto,:Eof |
| If "%~2"=="48" If "%位%"=="0" Set/p="极"<Nul&Set 大写=%大写%极&Set 位=1&Set 零=1&Goto,:Eof |
| If "%零%"=="0" ( If Not "%后零%"=="0" Set/p="零"<Nul&Set 大写=%大写%零&Set "零=1" ) |
| Goto,:Eof |
| :RMB角分 |
| For /f "tokens=1,2 delims=." %%a in ("%R%") do (Set "Y=%%a"&Set "F=%%b" ) |
| Echo %F%|FindStr "^[0-9]*$">Nul || Call,:Pxit E0 27 1 2 " 非法输入!按任意键退出!" |
| If Not "%F%"=="" Set "角=%F:~0,1%"&Set "分=%F:~1,1%" |
| If Not "%Y%"=="" Call,:RMBB %Y% |
| Goto,:EofCOPY |