如何用可变数量的前导零填充字符串?

Our*_*nas 2 substring concatenation power-automate

我们的 MS Flow - 更新项目任务中有这个公式...

concat(items('Apply_to_each')['T_x002d_Code']
,'-'
,items('Apply_to_each')['BoxNo']
,'-'
,
items('Apply_to_each')['ID'])
Run Code Online (Sandbox Code Playgroud)

但我们需要在 BoxNo 和 ID 中添加前导零,因此最终结果如下:

A02-00001-000235

我们也尝试过:

substring(concat('000000', variables('ItemID'))
, sub(5, length(variables('BoxNo')))
, add(6, length(variables('ItemID'))))
Run Code Online (Sandbox Code Playgroud)

但没有运气。

BoxNo值可以从 199,999,因此我们需要填充最多4 个前导零

ItemID可以从 1 到 999,999 因此我们需要填充最多5 个前导零

我们如何才能像这样格式化这些字段呢?

gle*_*sep 5

我找到了另一种方法来做到这一点。有 formatNumber 函数。给定一个整数或小数,它将格式化您的数字。如果您使用“0”格式化程序,它将用零替换空格。

这是文档的链接:格式数字文档

这里还有自定义数字格式的链接:custom-numeric-format-strings

因此,例如要用零填充,请使用:

formatNumber([your field],'0000000000')`
Run Code Online (Sandbox Code Playgroud)

这是我的电源自动化流程的示例:

formatNumber(items('Apply_to_each')?['AttorneyID'],'0000000000')
Run Code Online (Sandbox Code Playgroud)