Моя полезная нагрузка вывода почтальона всегда возвращается с ведущими нулями для поля «NewPrice». Мне нужна помощь в том, чтобы сделать это поле 2 знаками после запятой.
Текущая выходная полезная нагрузка: [ { "КонечнаяДата": "1900-01-01", «Новая Цена»: 135.3000, "Дата начала": "2023-04-01", «рыночный рейтинг»: 102, "Кол-во доставлено": 0, «Кол-во Осталось»: 0, "КоличествоВРуке": 12, }, { "КонечнаяДата": "1900-01-01", «Новая Цена»: 31.4500, "Дата начала": "2023-08-01", "marketRank": 111, "Кол-во доставлено": 0, «Кол-во Осталось»: 0, "Кол-во в наличии": 4, } ]
Текущая структура данных: - для даты начала и окончания я обновляю формат с гггг-мм-ддT00:00:00 до гггг-мм-дд. я просто не могу понять, что делать с "NewPrice"
%dw 2.0
output application/json
---
payload[0]
map((item, index) -> item
update {case date at .StartDate -> date as Date}
update {case date at .EndDate -> date as Date}
)





Вы не можете отформатировать число с количеством позиций после запятой или любым другим форматом. Числа не имеют форматов ни в DataWeave, ни в JSON. В них будут только значащие цифры. Вы можете отформатировать количество десятичных позиций, если хотите преобразовать число в строку.
Пример того, как преобразовать число в строку с форматом:
135.3000 as String {format:"0.00"}
Выход:
"135.30"
Я не советую этого делать, если вы собираетесь использовать эти значения для расчетов. Как правило, документы JSON не предназначены для форматирования.
Я хочу отформатировать число до 2 знаков после запятой. Можете ли вы показать мне пример для моего dataweave?
Я только что сказал, что это невозможно для числа, только для строки
Вы спрашиваете, как преобразовать число в форматированную строку?
да число в строку с 2 знаками после запятой
Вы также можете использовать эту статью для более подробной информации -> help.mulesoft.com/s/article/…
спасибо @aled, это сработало для меня. Я использовал обновление {номер дела в .NewPrice -> номер как строку {формат: "0.00"}}
Пожалуйста, не стесняйтесь принимать / голосовать за ответ, если он полезен.
Что такое ввод?