Batch file 如何计算cmd中的平方根?

Batch file 如何计算cmd中的平方根?,batch-file,square-root,Batch File,Square Root,我有一个计算平方根的项目,用毕达哥拉斯定理得到直角三角形的大边 以下是我尝试过的: @echo off set /p a=Pleas Enter Value(1) = echo. set /p b=Pleas Enter Value(2) = set /a c=%a%*%a% set /a d=%b%*%b% set /a F=%d%+%c% echo. :calculation Value(3) rem root Number √%F% echo. pause>nul 批量 这是本

我有一个计算平方根的项目,用毕达哥拉斯定理得到直角三角形的大边

以下是我尝试过的:

@echo off
set /p a=Pleas Enter Value(1) = 
echo.
set /p b=Pleas Enter Value(2) = 
set /a c=%a%*%a%
set /a d=%b%*%b%
set /a F=%d%+%c%
echo.
:calculation Value(3)
rem root Number
√%F%
echo.
pause>nul
批量

这是本机批处理方法(不准确):

如果平方根是浮点数,则它将为数字加底。

Batch

这是本机批处理方法(不准确):


如果平方根是浮点数,它会将数字降到最低。

同样,它不支持浮点数运算,但此代码可以工作:

@echo off

Title SquareRoot
:StartSquareRoot
cls
echo Number:
set /p number=
call :SquareRoot %number%
echo Square: %number%
echo Root: %answer%
pause
goto StartSquareRoot

:SquareRoot
set root=1    
set /a sqr=%root%*%root%
:Loop
if %sqr% LSS %number% (
    set /a root=root+1
    set /a sqr=root*root
    goto Loop
)
(EndLocal && set answer=%root% && exit /B)

同样,将不支持浮点运算,但此代码可以工作:

@echo off

Title SquareRoot
:StartSquareRoot
cls
echo Number:
set /p number=
call :SquareRoot %number%
echo Square: %number%
echo Root: %answer%
pause
goto StartSquareRoot

:SquareRoot
set root=1    
set /a sqr=%root%*%root%
:Loop
if %sqr% LSS %number% (
    set /a root=root+1
    set /a sqr=root*root
    goto Loop
)
(EndLocal && set answer=%root% && exit /B)