Board logo

标题: [数值计算] [已解决]求助批处理如何计算比较大的数值? [打印本页]

作者: hlzj88    时间: 2016-1-4 07:11     标题: [已解决]求助批处理如何计算比较大的数值?

本帖最后由 pcl_test 于 2016-1-4 09:41 编辑

语言不好描述,附上我写的代码,可能更好理解
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. echo.>2.ini
  4. set /p v=
  5. for /l %%i in (1,1,20) do (
  6. set /a wp=%%i+10000000000
  7. echo !wp!>>2.ini
  8. echo !wp:~-%v%!>>2.ini
  9. )
  10. start 2.ini
  11. pause
复制代码
如上,wp是变化的,截取长度是根据输入数值来定的,win7提示无效数字,数值精确度限为 32 位
作者: codegay    时间: 2016-1-4 07:20

换其它语言玩。
作者: hlzj88    时间: 2016-1-4 09:10

原因找到,最大只支持9位截取,
作者: pcl_test    时间: 2016-1-4 09:42

与截取无关,只跟批处理支持运算的数字类型有关
作者: pcl_test    时间: 2016-1-4 10:04

vbs/js
  1. for /f %%a in ('mshta "vbscript:createobject("scripting.filesystemobject").getstandardstream(1).write(1+10000000000000)(close)"') do echo;%%a
复制代码
ps
  1. for /f %%a in ('powershell -command "1+10000000000000"') do echo;%%a
复制代码
第三方
  1. for /f %%a in ('echo 1+10000000000000^|bc') do echo;%%a
复制代码
  1. for /f %%a in ('echo^|gawk "{print 1+10000000000000}"') do echo;%%a
复制代码

作者: hlzj88    时间: 2016-1-4 12:58

谢谢版主指教,  只是  批处理支持运算的数字类型  不理解




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2