【问题标题】:Adding numbers containing commas in a batch script在批处理脚本中添加包含逗号的数字
【发布时间】:2011-10-12 12:59:41
【问题描述】:

我正在尝试在 Windows 批处理文件中将两个数字相加。这些数字来自命令的输出,我无法更改代码以其他格式输出。

问题是数字在数字中使用逗号作为千位分隔符。即154022 输出为154,022。现在,当我尝试将此号码添加到另一个号码时,它只会添加第一部分(即 154)。

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

set /a TOTAL=A + B

echo %TOTAL%

产生:155,而不是我想要的 155022,甚至是 155,022

有没有办法在批处理脚本中轻松地将带逗号的数字转换为不带逗号的数字?

【问题讨论】:

    标签: scripting batch-file dos number-formatting


    【解决方案1】:
    set A=1,000
    set B=154,022
    
    set A2=%A:,=%
    set B2=%B:,=%
    
    set /a TOTAL=A2 + B2
    
    echo %TOTAL%
    

    你可以像这样进行字符串操作

    set result=%input:substring=replacement%
    

    这个和其他不错的提示:http://www.dostips.com/DtTipsStringManipulation.php

    【讨论】:

    • 你打败了我,现在接受它! :) (+1)
    • 感谢 Tomalak 的工作:)。从那以后,我认为批处理脚本一般来说是非常糟糕的,并且正在恢复使用 PHP 来完成这项工作!
    • @fwgx 是的,Windows 下的批处理脚本很麻烦。 ;-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-06
    • 2010-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多