Добавление номеров, содержащих запятые в пакетном скрипте - PullRequest
1 голос
/ 25 июля 2011

Я пытаюсь добавить два числа в пакетный файл Windows. Числа поступают из выходных данных команды, и я не могу изменить код для вывода его в другом формате.

Проблема в том, что числа используют запятые в числах в качестве разделителя тысяч. т.е. 154022 выводится как 154,022. Теперь, когда я пытаюсь добавить этот номер к другому номеру, он добавляет только первую часть (то есть, что 154).

set A=1,000
set B=154,022

set /a TOTAL=A + B

echo %TOTAL%

производит: 155, а не 155022, что я хотел бы, или даже 155,022 сделал бы.

Можно ли в пакетном скрипте легко преобразовать числа с запятыми в числа без запятых?

1 Ответ

3 голосов
/ 25 июля 2011
set A=1,000
set B=154,022

set A2=%A:,=%
set B2=%B:,=%

set /a TOTAL=A2 + B2

echo %TOTAL%

Вы можете выполнять манипуляции со строками следующим образом

set result=%input:<i>substring</i>=<i>replacement</i>%

Этот и другие полезные советы: http://www.dostips.com/DtTipsStringManipulation.php

...