| 网站首页 | 绿色软件 | 绿色数码 | 安全中心 | 屏保中心 | 源码中心 | 电子书库 | 教程库 | 图片库 | 资料库 | 算命 | 笑话 | 广告 | 绿站旧版 | 返回总部 | 
您现在的位置: 绿色软件站 >> 源码中心 >> BAT源码 >> 转换处理 >> 源码信息
热点推荐
最新更新
本类热门
· txt转htm
· 中文数字转换为阿拉伯数字
· reg 转 BAT
· 字母大小写转换
· 十进制转十六进制
· 十进制转二进制
· 图片批量生成网页
· sz.reg转换成reg.bat
· 人民币金额小写转大写
· 大小写互转程序
推荐软件
其他更新
人民币金额小写转大写
运行环境: Win9x/NT/2000/XP/2003 (载入中...)
文件大小: 1 K
软件类别: BAT源码
软件语言: 简体中文
软件属性:       
授权方式: 免费版
添加时间: 2008-3-21 16:56:59
软件等级: ★★★
软件绿化: 佚名
相关链接: 源码演示地址  源码注册地址
下载次数: 日: 周: 月: 总:
软件添加: 审核:lodge 录入:lodge
::软件简介::  

警告:运行BAT源码是一种危险的动作,如果你不熟悉,请不要尝试!

:: 人民币金额小写转大写
:: qzwqzw@bbs.cn-dos.net
:: 2007-01-01
::出处:http://www.cn-dos.net/forum/viewthread.php?tid=26230
@echo off
setlocal EnableDelayedExpansion

set tbl1=零壹贰叁肆伍陆柒捌玖
set tbl2=分角元拾佰仟万拾佰仟亿拾佰仟

:test_
setlocal
set /p num=请输入金额(小于一万亿元):

for /f "tokens=1,2 delims=." %%f in ("%num%") do (
    set num2=%%g00
    set num=%%f!num2:~0,2!
)

:loop
call set rmb=%%tbl1:~%num:~-1,1%,1%%%%tbl2:~%bit%,1%%%rmb%
set /a bit+=1
set num=%num:~0,-1%
if not "%num%"=="" goto loop

set rmb=%rmb:零拾=零%
set rmb=%rmb:零佰=零%
set rmb=%rmb:零仟=零%
set rmb=%rmb:零零=零%
set rmb=%rmb:零零=零%

set rmb=%rmb:零元=元零%
set rmb=%rmb:零万=万零%
set rmb=%rmb:零亿=亿零%
set rmb=%rmb:零零=零%

set rmb=%rmb:零分=零%
set rmb=%rmb:零角=零%
set rmb=%rmb:角零=角%
set rmb=%rmb:零零=整%

echo 人民币%rmb%

endlocal
goto test_

 

:: 数字金额转大写
::code by youxi01@cn-dos.net
::date 2006-1-1(Happy new year!best wishes to everyone!)
::出处:http://www.cn-dos.net/forum/viewthread.php?tid=26230
@echo off
setlocal enabledelayedexpansion
set /a a=0,b=0,c=0

::================================
::设置单位名称;
SET NAME0=仟
SET NAME1=佰
SET NAME2=拾
SET NAME3=
::================================

::=============================================
::设置数字对应的大写中文汉字
for %%i in (零 壹 贰 叁 肆 伍 陆 柒 捌 玖) do (
     set BIG!a!=%%i
     set /a a+=1)
::=============================================

::=======================================================================
::在以下“函数”的处理过程中,要用到"#"对数字进行对齐(都成四位),以便截取;
::这里设置凡是出现"#"的地方都设置为空。
set BIG#=
::=======================================================================

set EN=

::====================================================
::这里对输入的数字进行处理,分别取出整数部分和小数部分;

set /p EN=请输入金钱数(1000亿以内):
for /f "tokens=1,2* delims=." %%i in ("%EN%") do (
      set "round=%%i"
      set "dec=%%j00" 2>nul)
::=====================================================
set /a round=%round:,=%
set dec=%dec:~0,2%

:test
   set /a b+=1
   ::=============================================
   ::每四位数字为一组,对原来的数据进行截取;
   if %round% gtr 9999 (
      set num!b!=!round:~-4!
      set round=!round:~0,-4!
      goto :test) else set num!b!=!round!
   ::==============================================

::=====================================================
::分别对1、2、3段数据进行处理;分别赋予单位:元、万、亿
::同时,分别将返回的数据传给str1,str2,str3(利用%3来控制)。
call :test1 %num1% 元 1
call :test1 %num2% 万 2
call :test1 %num3% 亿 3
::======================================================

::====================================================================
::去掉数字大写里多余的"零"。比如,1002,处理后读出来为:"壹千零贰元整"
::符合我们中国人一般的读数方法;同时将结果分别传入str1,str2,str3(%2控制)。
call :test2 %str1% 1
call :test2 %str2% 2
call :test2 %str3% 3
::=====================================================================

::==============================================================
::防止类似2,0000,1002.00形式出现错误(错误读为:2亿万1千零2元整)
if "!str2!"=="零万" set str2=零
::===============================================================

set str=%str3%%str2%%str1%
set str=%str:零元=元%
set str=%str:零万=万%
set str=%str:零亿=亿%

::防止整数部分为0;
if "%str%"=="元" set str=零元

::对小数部分数字进行处理;
if "%dec%"=="00" (set dec=整) else (
    set /a dec1=!dec:~0,1!
    set /a dec2=!dec:~1,1!
    if !dec1! EQU 0 (set dec1=零) else call set dec1=%%BIG!dec1!%%角
    if !dec2! EQU 0 (set dec2=) else call set dec2=%%BIG!dec2!%%分
    set dec=!dec1!!dec2!
)
echo.
echo ========================
echo 你输入的金钱数目大写为:
echo.
echo %str:零零=零%%dec%
echo ========================
pause>nul

:test1
    if not "%1"=="" (
        set temp=####%1
        set temp=!temp:~-4!
        for /l %%i in (0 1 3) do (
               set tmp%%i=!temp:~%%i,1!
               if defined tmp%%i (
                  if !tmp%%i! GTR 0 (call set str%3=!str%3!%%BIG!tmp%%i!%%!NAME%%i!) else (
                         call set str%3=!str%3!%%BIG!tmp%%i!%%)))
       set str%3=!str%3!%2
       ) else set str%3=
     goto :eof

:test2
     set tmp=%1
     set tmp=%tmp:零零=零%
     set str%2=%tmp:零零=零%
     goto :eof


:: 人民币金额小写转大写
:: qzwqzw@bbs.cn-dos.net
:: 2007-01-01
::出处:http://www.cn-dos.net/forum/viewthread.php?tid=26230
@echo off
setlocal EnableDelayedExpansion

set tbl1=零壹贰叁肆伍陆柒捌玖
set tbl2=分角元拾佰仟万拾佰仟亿拾佰仟

:test_
setlocal
set /p num=请输入金额(小于一万亿元):

for /f "tokens=1,2 delims=." %%f in ("%num%") do (
    set num2=%%g00
    set num=%%f!num2:~0,2!
)

:loop
call set rmb=%%tbl1:~%num:~-1,1%,1%%%%tbl2:~%bit%,1%%%rmb%
set /a bit+=1
set num=%num:~0,-1%
if not "%num%"=="" goto loop

set rmb=%rmb:零拾=零%
set rmb=%rmb:零佰=零%
set rmb=%rmb:零仟=零%
set rmb=%rmb:零零=零%
set rmb=%rmb:零零=零%

set rmb=%rmb:零元=元零%
set rmb=%rmb:零万=万零%
set rmb=%rmb:零亿=亿零%
set rmb=%rmb:零零=零%

set rmb=%rmb:零分=零%
set rmb=%rmb:零角=零%
set rmb=%rmb:角零=角%
set rmb=%rmb:零零=整%

echo 人民币%rmb%

endlocal
goto test_

 

:: 数字金额转大写
::code by youxi01@cn-dos.net
::date 2006-1-1(Happy new year!best wishes to everyone!)
::出处:http://www.cn-dos.net/forum/viewthread.php?tid=26230
@echo off
setlocal enabledelayedexpansion
set /a a=0,b=0,c=0

::================================
::设置单位名称;
SET NAME0=仟
SET NAME1=佰
SET NAME2=拾
SET NAME3=
::================================

::=============================================
::设置数字对应的大写中文汉字
for %%i in (零 壹 贰 叁 肆 伍 陆 柒 捌 玖) do (
     set BIG!a!=%%i
     set /a a+=1)
::=============================================

::=======================================================================
::在以下“函数”的处理过程中,要用到"#"对数字进行对齐(都成四位),以便截取;
::这里设置凡是出现"#"的地方都设置为空。
set BIG#=
::=======================================================================

set EN=

::====================================================
::这里对输入的数字进行处理,分别取出整数部分和小数部分;

set /p EN=请输入金钱数(1000亿以内):
for /f "tokens=1,2* delims=." %%i in ("%EN%") do (
      set "round=%%i"
      set "dec=%%j00" 2>nul)
::=====================================================
set /a round=%round:,=%
set dec=%dec:~0,2%

:test
   set /a b+=1
   ::=============================================
   ::每四位数字为一组,对原来的数据进行截取;
   if %round% gtr 9999 (
      set num!b!=!round:~-4!
      set round=!round:~0,-4!
      goto :test) else set num!b!=!round!
   ::==============================================

::=====================================================
::分别对1、2、3段数据进行处理;分别赋予单位:元、万、亿
::同时,分别将返回的数据传给str1,str2,str3(利用%3来控制)。
call :test1 %num1% 元 1
call :test1 %num2% 万 2
call :test1 %num3% 亿 3
::======================================================

::====================================================================
::去掉数字大写里多余的"零"。比如,1002,处理后读出来为:"壹千零贰元整"
::符合我们中国人一般的读数方法;同时将结果分别传入str1,str2,str3(%2控制)。
call :test2 %str1% 1
call :test2 %str2% 2
call :test2 %str3% 3
::=====================================================================

::==============================================================
::防止类似2,0000,1002.00形式出现错误(错误读为:2亿万1千零2元整)
if "!str2!"=="零万" set str2=零
::===============================================================

set str=%str3%%str2%%str1%
set str=%str:零元=元%
set str=%str:零万=万%
set str=%str:零亿=亿%

::防止整数部分为0;
if "%str%"=="元" set str=零元

::对小数部分数字进行处理;
if "%dec%"=="00" (set dec=整) else (
    set /a dec1=!dec:~0,1!
    set /a dec2=!dec:~1,1!
    if !dec1! EQU 0 (set dec1=零) else call set dec1=%%BIG!dec1!%%角
    if !dec2! EQU 0 (set dec2=) else call set dec2=%%BIG!dec2!%%分
    set dec=!dec1!!dec2!
)
echo.
echo ========================
echo 你输入的金钱数目大写为:
echo.
echo %str:零零=零%%dec%
echo ========================
pause>nul

:test1
    if not "%1"=="" (
        set temp=####%1
        set temp=!temp:~-4!
        for /l %%i in (0 1 3) do (
               set tmp%%i=!temp:~%%i,1!
               if defined tmp%%i (
                  if !tmp%%i! GTR 0 (call set str%3=!str%3!%%BIG!tmp%%i!%%!NAME%%i!) else (
                         call set str%3=!str%3!%%BIG!tmp%%i!%%)))
       set str%3=!str%3!%2
       ) else set str%3=
     goto :eof

:test2
     set tmp=%1
     set tmp=%tmp:零零=零%
     set str%2=%tmp:零零=零%
     goto :eof

::下载地址::  
·电信服务器一  ·电信服务器二  ·网通服务器二  ·网通服务器一  
::相关软件::  
酷我音盒(自带100万首歌曲的播放器)
没有相关源码
(载入中...)
::相关教程::
::下载说明::
为了达到最快的下载速度,推荐使用网际快车下载本站软件。
如果您发现该软件不能下载,请通知管理员或点击【此处报错】,谢谢!
未经本站明确许可,任何网站不得非法盗链及抄袭本站资源;如引用页面,请注明来自本站,谢谢您的支持!
      网友评论:(评论内容只代表网友观点,与本站立场无关!) 发表评论