如何使用批处理文件做一个数学问题涉及一个百分比和添加一个十进制数字之后?



我做了很多研究,似乎在BAT文件中乘以%百分比似乎是不可能的?

我试图完成的是要求用户输入一个数字(我们称之为a),例如

然后将这个数字乘以一个设定的百分比数字,然后在总数上加上。41之类的东西

所以简单的数学方程是a*xx%+。41 = ? ?

但是我还没有找到一种方法在BAT文件中做到这一点…

有人知道吗?有什么想法吗?谢谢你的时间和帮助解决这个问题?

我试着在谷歌等寻找答案,并在BAT中做简单的数学,但它不起作用:(

UPDATE (******)

好了,经过一些进一步的研究,我已经掌握了基本知识,但我现在想做的是能够将变量保存到一个文本文件测试,看看文件是否存在,如果它确实询问当前值是否正确,如果不是,然后给出更改它们的选项(如果文件不存在,也一样)

这是我目前看到的

@echo off
set /P x="Percentage:"
set /P y="Price:"
set /P Z="Fixed Rate:"
cscript //nologo calculate.vbs %x% %y% %z% > results.txt
set /P charge= < results.txt 
pause
del results.txt  
echo charge Fee Total: %charge%
cscript //nologo calculate2.vbs %y% %charge% > results2.txt
set /P total= < results2.txt 
pause
del results2.txt
echo sale total amount: %total%
pause

从你的评论中我了解到,你的计算应该是((%x% / 100^)*%y% + %Z%,如果不是,请随意更改它们:

@echo off
if not exist "calculations.txt" call :setVars
if exist "calculations.txt" for /f "usebackq delims=" %%i in ("calculations.txt") do set "%%i"
echo fixed rate = %Z%
echo Percentage = %x%
choice /c CR /M "Continue or re-set?"
if errorlevel 2 call :setVars
for /f "usebackq delims=" %%i in ("calculations.txt") do set "%%i"
set /P "y=Price: "

for /F "delims=" %%i in ('powershell ((%x% / 100^)*%y% + %z%^)') do echo %%i
goto :EOF
:setVars
set /P "x=Percentage: "
set /P "Z=Fixed Rate: "x
(echo x=%x%
echo z=%z%
)>"calculations.txt"

初始运行将检测到calculations.txt不存在,并请求其值。然后它将它们传递给文件,下次运行时,文件被找到,它将只请求价格,而不是固定汇率或百分比。

此外,要查看calculations.txt中的内容,只需在goto :EOF

行之前添加echo %x% %z%行。

相关内容