我目前正在批量工作。 我想知道一种方法来乘以或加上百分比和/或小数。
示例:
set /a wcexpt= %wcexpt% * ??
每次我尝试这个:
set /a wcexpt= %wcexpt% * .005
导致0。
当我尝试这个时:
set /a wcexpt= %wcexpt% * %5
导致"缺少操作数"
答案 0 :(得分:1)
简短的回答是批处理只使用整数,因此必须将公式转换为使用整数。
此外,整数限制为〜+/- 2 ** 31。
你可以扩大范围 - 但它需要一些数学体操并且会非常慢。
答案 1 :(得分:0)
我尝试了这个,并且它正在将结果作为1
set /a wcexpt = 20
set /a wcexpt= (wcexpt * 5)/100
echo %wcexpt%
答案 2 :(得分:0)
您可以以非常简单的方式仅使用整数来模拟小数运算。例如:
@echo off
set /P "wcexpt=Enter value: "
rem Get 5% of wcexpt:
set /a percent=wcexpt * 5
rem Show result:
echo The 5%% of %wcexpt% is %percent:~0,-2%.%percent:~-2%
输出:
C:\> test
Enter value: 1234
The 5% of 1234 is 61.70
当然,可以进行更详细的模拟,包括所有算术运算。有关详细信息,请参阅this post。