亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 DataWeave 1.0 中將字符串轉換為數字時如何避免指數

在 DataWeave 1.0 中將字符串轉換為數字時如何避免指數

MYYA 2023-08-04 19:22:06
我正在將存儲在有效負載中的字符串“0.0000000”轉換為 Data Weave 語言 1.0 中的數字我嘗試了有效負載。金額為:number%dw 1.0%output application/json---{ Amount: payload.Amount as :number when payload.Amount != null}我預計最終輸出為0.0000000但我得到0E-7
查看完整描述

3 回答

?
Helenr

TA貢獻1780條經驗 獲得超4個贊

我認為你的期望是不正確的。根據RFC 4627?,0E-7 是一個完全有效的 JSON 數字。任何正確的解析器都應該正確處理這個有效數字。與其他語言一樣,數字在 JSON 中沒有格式屬性。只有當它們與字符串相互轉換時,才能應用格式。由于這些原因,您無法告訴 DataWeave 使用特定的格式。


例子

%dw 1.0

%output application/json

%function withZeroes(x)? x as :string { format: "#.####" } as :number

---

{

? Amount: withZeroes(0E-7),

? Amount2: withZeroes(0.000),

? Amount3: withZeroes(0.0001),

? Amount4: withZeroes(0.00001)

}

輸出:


{

? "Amount": 0,

? "Amount2": 0,

? "Amount3": 0.0001,

? "Amount4": 0

}


查看完整回答
反對 回復 2023-08-04
?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

嘗試像

as :number as :number {格式: "#.#######"}


查看完整回答
反對 回復 2023-08-04
?
LEATH

TA貢獻1936條經驗 獲得超7個贊

您可能想要指定精度。就像是

as :number as :string {格式:“0.0000000”}

查看完整回答
反對 回復 2023-08-04
  • 3 回答
  • 0 關注
  • 172 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號