Как отформатировать число до 2 цифр в mule4?

Я пробовал следующее;

  • vars.counter as Number {format:'00'}
  • vars.counter as Number {format:'##'}
  • vars.counter as String {format:'00'}
  • vars.counter as String {format:'##'}

Ничего из вышеперечисленного не делает 1 to 01

Как я могу сделать это в mule4?


person Ratha    schedule 04.06.2020    source источник
comment
vars.msgseq as String {format: 00} работает (с использованием двойных кавычек)   -  person Ratha    schedule 04.06.2020


Ответы (1)


Числа (целые числа, с плавающей запятой) не имеют формата DataWeave, как и во многих других языках. Вам нужно преобразовать в String с желаемым шаблоном. Я пробовал следующие комбинации:

%dw 2.0
output application/json
---
[
1 as String {format:'##'},
1 as String {format:'00'},
1 as String {format:'#0'}
// , 1 as String {format:'0#'} ERROR!
]

Выход:

[
  "1",
  "01",
  "1"
]

Только комбинация всех нулей дает желаемый результат.

person aled    schedule 04.06.2020