我尝试在Azure管道(YAML)中格式化4位数字,但它不起作用,有人帮忙吗?
我有一个变量>> serialNumber: 2
我使用了以下yaml语法:
formatnumber: $[format('{0:D4}', variables.serialNumber)]
formatnumber: $[format('{0:0000}', variables.serialNumber)]
formatnumber: $[format('{0:####}', variables.serialNumber)]我想用格式将数字2转换为0002,但我得到了以下错误:
加载YAML生成管道时出错。格式说明符“D4”对类型为“String”的对象无效
发布于 2020-01-07 03:43:21
上面的格式化程序不工作是因为variables.serialNumber返回的值的类型是string而不是int类型。
要实现这一点,有一个解决办法。您可以添加一个powershell任务来格式化数字。您可以检查下面的示例。
trigger:
- master
variables:
number: 2
pool:
vmImage: 'ubuntu-latest'
steps:
- powershell: |
$number = $(number)
$format = "{0:0000}" -f $number
echo "##vso[task.setvariable variable=formatnumber]$format"
- powershell: echo "$(formatnumber)"上面的脚本在powershell任务中格式化变量number和将格式化的数字设置为变量 'formatnumber‘。然后,以下任务可以引用$(formatnumber)格式化的数字
https://stackoverflow.com/questions/59610210
复制相似问题