标题: [数值计算] [已解决]怎么将调用powershell计算加减乘除和N次方批处理结合起来用? [打印本页]
作者: m91opse 时间: 2018-5-17 01:35 标题: [已解决]怎么将调用powershell计算加减乘除和N次方批处理结合起来用?
本帖最后由 m91opse 于 2018-6-14 01:02 编辑
怎么将这2套调用powershell批处理结合起来用,可以加减乘除,又可以n次方后在加减乘除。
第一套批处理- @echo off
-
- set /p a=a数值:
- set /p n=n次方:
-
- powershell [math]::pow(%a%,%n%) #math
-
- pause
复制代码
第二套批处理- @echo off
- set /p a=a的值:
- set /p b=b的值:
- set /p c=c的值:
- echo.
- set /p="(%a%/1.528*1.3+%b%+%c%)*1.0348= "<nul
- powershell -c "(%a%/1.528*1.3+%b%+%c%)*1.0348"
-
- pause>nul
复制代码
比如说:要计算 0.1*10的3次方=结果
可是,上面2套批处理只能单独计算N次方,或者单独计算四则运算。怎么结合这2个批处理,使其能运算好N次方在四则运算,得出结果。
作者: Batcher 时间: 2018-5-17 12:50
- @echo off
- set /p a=a数值:
- set /p b=b数值:
- set /p n=n次方:
- powershell [math]::pow(%a%*%b%,%n%)
- pause
复制代码
直接把四则运算表达式放到pow函数的第一个参数里面就行了
作者: m91opse 时间: 2018-6-13 23:28
本帖最后由 m91opse 于 2018-6-14 00:27 编辑
大哥,这个批处理有个问题,比如 0.1*10的3次方 按照大哥批处理的计算顺序,她是先0.1*10得出结果,在去计算立方,最后结果等于1
而问题出来了,如果是先计算开方10的3次方结果等于1000了,在乘以0.1最后结果等于100 这样大哥这个问题怎么解决啊?- @echo off
- set /p a=a数值:
- set /p b=b数值:
- set /p n=n次方:
- set /p="%a%*%b%的%n%次方= "<nul
- powershell [math]::pow(%b%,%n%)*%a%
- pause
复制代码
经过,乱搞,这样也可以的,哈哈
作者: m91opse 时间: 2018-6-14 00:32
本帖最后由 m91opse 于 2018-6-14 01:03 编辑
powershell [math]::pow(%a%*%b%,%n%)这个命令和下面的命令
powershell [math]::pow(%b%,%n%)*%a%
如果是 0.1*10的3次方*12+10的-2次方,这个怎么解决啊?
要怪,也只能怪批处理和ps 还有vbs都太有局限性了。唉。。。。。。- @echo off
- set /p a=a数值:
- set /p b=b数值:
- set /p n=n次方:
- set /p="%a%*%b%的%n%次方= "<nul
- powershell %a%*[math]::pow(%b%,%n%)
- pause
复制代码
找了一下,功夫不负有心人,这样也ok了,楼上大哥666
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |