设置/缺少操作数

时间:2016-12-24 18:21:16

标签: batch-file

我已尝试过本网站上的所有问题,即使我删除了没有进行数学计算的百分号,它仍然无法正常工作。这是代码

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"变量设置为任何它仍然输出零。

1 个答案:

答案 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的暗示