提取数字字段和大数加法-批处理应用
2010-01-19 08:11
246 查看
setlocal enabledelayedexpansion
set "num1=qwer/asdf2/asd34f/1234567890123456/asdf/aaaa"
set "num2=aaaaa2/23456789012345678/asdfssasd/asdaa"
set "num1=%num1:/= %" & call :get_number !num1! & set "num1=!t!"
set "num2=%num2:/= %" & call :get_number !num2! & set "num2=!t!"
set "result="
:c_loop
set /a x=%num1:~-8%
set /a y=%num2:~-8%
set /a z=%x%+%y%
if defined flag set /a z=%z%+%flag%
set "flag=%z:~0,-8%" >>nul 2>>nul && set "z=%z:~-8%"
set "num1=%num1:~0,-8%"
set "num2=%num2:~0,-8%"
set "result=%z%%result%"
if not defined num1 if not defined num2 set "result=%flag%%result%" & goto :show
if not defined num1 set /a num1=0
if not defined num2 set /a num2=0
goto c_loop
:show
echo %result% & pause & goto :eof
:get_number
:loop
echo %1>> tmp.txt& shift
if not "%1"=="" goto :loop
for /f %%a in ('findstr /r "^[0-9][0-9]*$" tmp.txt') do set "t=%%a"
del tmp.txt
set "num1=qwer/asdf2/asd34f/1234567890123456/asdf/aaaa"
set "num2=aaaaa2/23456789012345678/asdfssasd/asdaa"
set "num1=%num1:/= %" & call :get_number !num1! & set "num1=!t!"
set "num2=%num2:/= %" & call :get_number !num2! & set "num2=!t!"
set "result="
:c_loop
set /a x=%num1:~-8%
set /a y=%num2:~-8%
set /a z=%x%+%y%
if defined flag set /a z=%z%+%flag%
set "flag=%z:~0,-8%" >>nul 2>>nul && set "z=%z:~-8%"
set "num1=%num1:~0,-8%"
set "num2=%num2:~0,-8%"
set "result=%z%%result%"
if not defined num1 if not defined num2 set "result=%flag%%result%" & goto :show
if not defined num1 set /a num1=0
if not defined num2 set /a num2=0
goto c_loop
:show
echo %result% & pause & goto :eof
:get_number
:loop
echo %1>> tmp.txt& shift
if not "%1"=="" goto :loop
for /f %%a in ('findstr /r "^[0-9][0-9]*$" tmp.txt') do set "t=%%a"
del tmp.txt
相关文章推荐
- 提取数字字段和大数加法-批处理应用
- (高精度运算4.7.24)UVA 10013 Super long sums(大数加法——某一位的数字可能大于10)
- mysql sql语句提取截取字段值中的数字字符串,动态截图指定字符串数字
- pymongo实现控制mongodb中数字字段做加法的方法
- 提取数字、英文、中文、过滤重复字符等SQL函数(含判断字段是否有中文)
- 数字雨+大数加法+割圆术求π+冒泡排序+快速排序+栈练习+链表练习
- [编程题]数字翻转(大数加法)
- 提取数字、英文、中文、过滤重复字符等SQL函数(含判断字段是否有中文)
- 提取数字、英文、中文、过滤重复字符等SQL函数(含判断字段是否有中文)
- Java常用数字工具类 大数乘法、加法、减法运算(2)
- 提取数字、英文、中文、过滤重复字符等SQL函数(含判断字段是否有中文)
- (高精度运算4.7.24)UVA 10013 Super long sums(大数加法——某一位的数字可能大于10)
- 读取ip比如“192.168.1.2”并且提取出里面各个字段的数字
- 提取数字、英文、中文、过滤重复字符等SQL函数(含判断字段是否有中文)
- 抓起根本(二)(hdu 4554 叛逆的小明 hdu 1002 A + B Problem II,数字的转化(反转),大数的加法......)
- 抓起根本(二)(hdu 4554 叛逆的小明 hdu 1002 A + B Problem II,数字的转化(反转),大数的加法......)
- SQL Server提取字段中的所有数字
- Java工作利器之常用工具类(二)——数字工具类-大数乘法、加法、减法运算
- 从oracle字段中提取数字
- mysql数据库数字取整,截取部分字段,日期