2017-06-09 24 views
0

Dataweaveでxml経由で次の番号を取得しています。Dataweave小数点以下2桁のJSON番号を常に出力

<b:AmountValue>180.90</b:AmountValue> 

Dataweaveを使用して、対応するjson番号を小数点以下2桁(通貨を表す)で出力しようとしています。ここで

私Dataweave式は次のようになります...

amount: $.AmountValue as :number as :string {format: ".00"} as :number 

出力JSONは、末尾のゼロを失っています。

i.e. "amount":180.9 

Dataweave式を常に小数点以下2桁に変更するにはどうすればよいですか?

おそらく私はjson番号の種類を誤解していますか?リモート

おかげ

答えて

1

最後as :numberあなたは量がちょうどamount: $.AmountValue as :number

を置く場合、私はanypointスタジオの私のプレビューでこれを試してみました何が起こるの文字列

amount: $.AmountValue as :number as :string {format: ".00"} 
+0

いいえ、申し訳ありません。それは文字列にすることはできません – Richie

+1

あなたは欠けているゼロで生きる必要があります。小数点の表現から末尾のゼロを削除することは習慣的な振る舞いであり、それを行うかどうかの決定は、文字列をもはや制御できない数値に変換する場合、小数点のプロバイダ(あなたである) – Yevgeniy

0

ていると一緒に暮らすことができる場合には、末尾の0を失うことはありません。また、私は最新のバージョンを使用しています。

+0

によって行われません値の表現末尾にゼロが表示されてしまうことがあります... – Yevgeniy

0

これもテストして動作します。

あなたがしようとすると、この: 8.2 as :string {format: "0.00"} as :number

その後、余分な小数点以下が追加されます。

application/jsonまたはapplication/XMLに出力すると、小数点以下2桁が表示されます(8.20)。 application/javaに出力すると、それはdouble型であり、doubleを出力する方法を決める必要があります。

8.2 as :numberを試してみると、8.2と表示されます。

関連する問題