windows - SET 命令 - float ?

标签 windows batch-file floating-point set var

如何在 Windows 中使用 SET 命令进行浮点运算。/A 代表算术,%VAR% 打印 VAR 的数据而不是名称。

例如当我这样做时:

SET /A VAR="2.5+3.1"
ECHO %VAR%
pause

我收到错误:“缺少运算符”。 输出 (5.6) 也应该转换为 float

我还在忙于学习基本语法。

问候,狙击手

最佳答案

SET/A命令的算术运算只对32位整数进行;但是,如果您选择多个十进制数字并在整个操作过程中保留它们,则可以使用 SET/A 轻松模拟定点操作。例如:

REM Select two decimal digits for all operations
SET /A VAR=250+310
ECHO RESULT: %VAR:~0,-2%.%VAR:~-2%

此方法可让您直接对两个“定点”数进行加法或减法运算。当然,如果你想按照通常的方式(带小数点)输入数字,你必须在执行操作之前去掉小数点并留零。

您也可以直接将一个 FP(定点)数乘以或除以一个整数,结果也是正确的。为了将两个 FP 数相乘或相除,我们可以使用一个名为 ONE 的辅助变量,该变量具有正确的小数位数。例如:

rem Set "ONE" variable with two decimal places:
SET ONE=100
rem To multiply two FP numbers, divide the result by ONE:
SET /A MUL=A*B/ONE
rem To divide two FP numbers, multiply the first by ONE:
SET /A DIV=A*ONE/B

更多详情请访问 this post .

关于windows - SET 命令 - float ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25951196/

相关文章:

windows - 如何获取窗框的颜色?

batch-file - 如何在 Windows 7 系统中使用 bat 文件切换到子目录并运行 exe?

batch-file - 是否可以知道 for 循环内的当前循环索引?

swift - 为什么 Int(Float(Int.max)) 给我一个错误?

java - 不进行任何舍入,最多保留 3 位小数

c++ - Windows 服务通信选项

c++ - 我必须在线程句柄上使用 CloseHandle() 吗?

windows - 如何在 TortoiseSVN 上查看锁定消息

mysql - 通过批处理文件运行 MySQL - 流氓角色

Javascript 最小值最大值