echo off
title Numbers Part 3
color a
goto input
:input
echo what to divide?
set /p by=
cls
echo %by%?
ping localhost -n 2 >nul
cls
echo Well, %by% by what?
set /p with=
pause
cls
echo Great
ping localhost -n 3 >nul
cls
goto answer
:answer
echo The Answer of %by% by %with% is
set /a Anser=%by%/%with%
echo %Anser%
ping localhost -n 3 >nul
echo code made by ******
pause
在此代码中,我无法获得正确答案,小数不正确!我该如何修复?
答案1
我无法得到正确答案,小数不正确!
任何
SET /A
返回小数结果的计算都将向下舍入为最接近的整数。
来源:设置 - 环境变量 - Windows CMD - SS64.com
我该如何修复它?
你不能。
除了使用其他脚本语言外,没有其他真正的解决方法可以实现浮点数学。
唯一的例外可能是,如果小数位数有限且固定(例如 2),那么您可以将所有内容乘以 100。
要在最终结果中显示小数分隔符,请将整数除以 100,然后是小数分隔符,再将模数除以 100 连接起来:
SET /A Whole = %Result% / 100 SET /A "Fraction = %Result% %% 100" SET Result=%Whole%.%Fraction%
但这可能会破坏 32 位的限制。
一般来说,对于浮点数学,我建议使用其他脚本语言。
来源:批处理文件 - 数学