我已尝试过本网站上的所有问题,即使我删除了没有进行数学计算的百分号,它仍然无法正常工作。这是代码
for /f "tokens=*" %%b in (Bought.txt) do (
echo Newly bought shares %%b
set c=0.001
set /a a=b*c
echo Next tick's price change: %a%
)
输出百分号
Missing operand.
没有标志
Next tick's price change: 0
并记住即使使用" b"变量设置为任何它仍然输出零。
答案 0 :(得分:0)
正如我的评论已经说过,这不符合你的预期 (你忘了使用%% b而不是b):
SetLocal EnableExtensions EnableDelayedExpansion
for /f "tokens=*" %%b in (Bought.txt) do (
echo Newly bought shares %%b
set c=0.001
set /a a=%%b*!c!
echo Next tick's price change: !a!
)
编辑要划分千位(使用模拟浮点数学),请使用:
@Echo off
SetLocal EnableExtensions EnableDelayedExpansion
for /f "tokens=*" %%b in (Bought.txt) do (
echo Newly bought shares %%b
set c=1000
set /a a=%%b / c, d = (%%b %% c ^)
Set d=000!d!
echo Next tick's price change: !a!.!d:~-3!
)
感谢JosefZ的暗示