标题: [数值计算] [已解决]批处理命令set /a 小数点怎么运算?求方式求原理 [打印本页]
作者: lateol 时间: 2013-7-7 11:00 标题: [已解决]批处理命令set /a 小数点怎么运算?求方式求原理
本帖最后由 lateol 于 2013-7-9 09:22 编辑
看了一些资料,没看懂....
如小数点
0.75*2
0.5*2
0.3*2
像0.75*2 进位了 小数点怎么偏移
麻烦大神给个简洁的代码谢谢!
弱弱的问 问题1:变量set=abcde 可以指定地方插入量么?比如 插入F set aa=abcFde 且保证变量是变动的情况下。
问题2:SET变量里可否直接 排序变量 倒排变量?
作者: terse 时间: 2013-7-7 14:36
bat 不支持浮点
你可以搜索论坛有BAT这方面的计算
暂写个也比较长 没完全测试
注意溢出- @echo off&setlocal enabledelayedexpansion
- set "k=00000000"
- set a=0.32
- set b=0.002
- for %%a in (a b) do (
- set "len_%%a="
- if "!%%a:*.=!" neq "!%%a!" (
- set .%%a=!%%a:*.=!
- for /l %%i in (9 -1 1) do if "!.%%a:~%%i!" == "" set "len_%%a=%%i"
- )
- for /f "tokens=* delims=0." %%i in ("!%%a:.=!") do set "%%a=%%i"
- )
- set /a len=len_a+len_b,n=a*b
- if !len! neq 0 for %%i in (!len!) do (
- set n=!k!!n!
- for /f "tokens=* delims=0" %%j in ("!n:~,-%%i!.!n:~-%%i!") do set "n=%%j"
- if "!n:~,1!" == "." set n=0!n!
- )
- echo !n!
- pause
复制代码
问题1- set aa=abcde
- set aa=%aa:~,2%F%aa:~2%
复制代码
问题2 什么意思?
作者: lateol 时间: 2013-7-7 14:51
回复 2# terse
比如 set str=AFGD424
排序里边的 变量 set str=ADFG244
作者: lateol 时间: 2013-7-7 15:00
回复 2# terse
set "len_%%a=" 这是赋值吗?
作者: terse 时间: 2013-7-9 12:29
回复 4# lateol
变量名在字母数字组合结合的前提下 ADFG244 如果一次排的话 要么这样排:GFDA442 要么:244ADFG 否则 要多次处理
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |