batch-file - 整数值的千位分隔符

标签 batch-file

假设我的批处理文件中有这个:

set var1=12345

我想在第一个变量(var1)中添加逗号,并将其保存到另一个变量(var2)

这意味着第二个变量 (var2) 应该有这个值:12,345

因此,如果第一个变量 (var1) 的值为:123456789,则第二个变量的 (var2) 的值必须为 123,456,789。

有什么想法吗?

编辑:

我不想使用 PowerShell 命令,因为它们对我不起作用。 请在不使用 PowerShell 的情况下编写。

最佳答案

又一个!

@echo off
setlocal EnableDelayedExpansion

set "var1=%1"

echo First variable: %var1%


set "var2="
set "sign="
if "%var1:~0,1%" equ "-" set "sign=-" & set "var1=%var1:~1%"
for /L %%i in (1,1,4) do if defined var1 (
   set "var2=,!var1:~-3!!var2!"
   set "var1=!var1:~0,-3!"
)
set "var2=%sign%%var2:~1%"


echo Second variable: %var2%

如果要增加位数,只需将for命令中的组数增加到大于4的值即可。

关于batch-file - 整数值的千位分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28700043/

相关文章:

windows - 为什么这段代码说回声已关闭?

batch-file - 从批处理脚本在 MobaXterm 中启动 session

c++ - 使用 C++ 运行批处理

batch-file - 在没有出现超时消息的情况下在批处理文件中运行超时命令

batch-file - 批处理 - 搜索零件/确切名称并将行从文本文件复制到批处理中作为 var

windows - FINDSTR 在从 Windows XP 到 Windows Server 2012 的所有 Windows 操作系统上的位置是什么?

windows - 批处理文件生成n个文件夹

date - 在批处理文件中输入日期参数​​并返回星期几

windows - 批处理 : set a variable with a filename

batch-file - 从路径中删除当前工作目录