toString

toString(number: Number, format: String | Null = null, locale: String | Null = null, roundMode: RoundingMode | Null = null): String

Number​ 値 (整数または小数) を ​String​ 値に変換し、形式、ロケール、丸めモード値を受け入れる ​toString​ のバリエーション。

DataWeave バージョン 2.4.0 で導入されました。

パラメーター

名前 説明

number

書式設定する ​Number​ 値。

format

Number​ 値に適用する書式設定。 ​format​ は ​10 進数​値のプレースホルダーとして ​#​ または ​0​ (ただし両方ではない) を受け入れ、1 つの小数点しか使用できません。​null​ 値または空の ​String​ 値は ​Number​ 値に対して無効です。他のほとんどの値はリテラルとして扱われますが、ドル記号などの特殊文字はエスケープする必要があります (たとえば、​\$​)。 内側の引用符は閉じる必要があり、囲む引用符とは異なります。

roundMode

小数 ​0.15​ の ​0.#​ の形式など、書式設定で丸めの選択肢が提供される場合の丸め小数値の省略可能なパラメーター。 デフォルトは ​HALF_UP​ で、​null​ 値の場合は ​HALF_UP​ と同じように動作します。 次の値のうち 1 つしか使用できません。

  • UP​: 常に小数点以下を切り上げます (たとえば、​0.01​ を ​"0.1"​ に、​-0.01​ を ​"-0.1"​ にします)。前の桁を 0 以外の端数まで大きくし、計算済みの値の絶対値が小さくなることはありません。

  • DOWN​: 常に端数処理を行います (たとえば、​0.19​ を ​"0.1"​ に、​-0.19​ を ​"-0.1"​ にします)。端数の前の桁を大きくすることはなく (前の桁に切り上げる)、計算済みの値の絶対値が大きくなることはありません。

  • CEILING​: 正の無限大に丸めて、結果が正の場合は ​UP​ と同じように動作します (たとえば、​0.35​ を ​"0.4"​ にする)。 結果が負の場合、このモードは ​DOWN​ と同じように動作します (たとえば、​-0.35​ を ​"-0.3"​ にする)。このモードでは、計算済みの値が小さくなることはありません。

  • FLOOR​: 負の無限大に丸めて、結果が正の場合は DOWN と同じように動作します (たとえば、​0.35​ を ​"0.3"​ にする)。 結果が負の場合、このモードは ​UP​ と同じように動作します (たとえば、​-0.35​ を ​"-0.4"​ にする)。このモードでは、計算済みの値が大きくなることはありません。

  • HALF_UP​: デフォルトのモードで、上と下の一番近い数値が同じ近さでない限り、「一番近い数値」に丸めます。上と下の一番近い数値の近さが同じ場合、このモードでは切り上げます。たとえば、​0.35​ は ​"0.4"​ に、​0.34​ は ​"0.3"​ に、​0.36​ は ​"0.4"​ に丸められます。負の小数も同様に丸められます。たとえば、​-0.35​ は ​"-0.4​" に丸められます。

  • HALF_DOWN​: 上と下の一番近い数値が同じ近さでない限り、「一番近い数値」に丸めます。上と下の一番近い数値の近さが同じ場合、このモードでは切り下げます。たとえば、​0.35​ は ​"0.3"​ に、​0.34​ は ​"0.3"​ に、​0.36​ は ​"0.4"​ に丸められます。負の小数も同様に丸められます。たとえば、​-0.35​ は ​"-0.3"​ に丸められます。

  • HALF_EVEN​: 末尾が ​5​ の小数 (​1.125​ や ​1.135​ など) の場合、動作は ​5​ の前にある数値に応じて異なります。 ​HALF_EVEN​ では、​5​ の前の最後から 2 番目の桁が奇数の場合は切り上げ、最後から 2 番目の桁が偶数の場合は切り下げます。たとえば、​0.225​ は ​"0.22"​ に丸められ、​0.235​ ​​ ​0.245​ はいずれも ​"0.24"​ に丸められ、​0.255​ は ​"0.26"​ に丸められます。 負の小数も同様に丸められ、たとえば ​-0.225​ は ​"-0.22"​ に丸められます。最後の桁が ​5​ でない場合、この設定の動作は ​HALF_UP​ と同じようになります。金額値の丸めは ​HALF_EVEN​ パターンに従う場合があります。

次の例では、さまざまな入力での ​toString​ の動作を示します。

ソース

%dw 2.0
import * from dw::util::Coercions
output application/json
---
{
    a: toString(1.0),
    b: toString(0.005,".00"),
    c: toString(0.035,"#.##","ES"),
    d: toString(0.005,"#.##","ES","HALF_EVEN"),
    e: toString(0.035,"#.00",null,"HALF_EVEN"),
    f: toString(1.1234,"\$.## 'in my account'")
}

出力

{
  "a": "1",
  "b": ".01",
  "c": "0,04",
  "d": "0",
  "e": ".04",
  "f": "$1.12 in my account"
}

toString(date: Date | DateTime | LocalDateTime | LocalTime | Time, format: String | Null = null, locale: String | Null = null): String

Date​、​DateTime​、​LocalTime​、​LocalDateTime​、または ​Time​ 値を ​String​ 値に変換する ​toString​ のバリエーション。

DataWeave バージョン 2.4.0 で導入されました。

パラメーター

名前 説明

date

String​ 型に強制変換する ​Date​、​DateTime​、​LocalTime​、​LocalDateTime​、または ​Time​ 値。

format

日付または時刻で使用する ISO-8601 書式設定。 たとえば、このパラメーターでは Java 8 の ​java.time.format​ に基づいた文字パターンを受け入れます。 ​null​ 値はこの値に対して無効です。デフォルト:

  • Date​ の例: 2011-12-03​ (同等の形式: uuuu-MM-dd​)

  • DateTime​ の例: 2011-12-03T10:15:30.000000+01:00​ (同等の形式: uuuu-MM-dd HH:mm:ssz​)

  • LocalDateTime​ の例: 2011-12-03T10:15:30.000000​ (同等の形式: uuuu-MM-dd HH:mm:ss​)

  • LocalTime​ の例: 10:15:30.000000​ (同等の形式: HH:mm:ss.n​)

  • Time​ の例: 10:15:30.000000Z​ (同等の形式: HH:mm:ss.nxxxz​)

locale

使用する省略可能な ISO 3166 国コード (​US​、​AR​、​ES​ など)。​null​ または欠落値では JVM のデフォルトが使用されます。​eeee​ や ​MMMM​ などの翻訳可能な形式を渡すと、​locale​ (​"ES​ など) は対応する数値をローカライズ済みの文字列に変換します。

次の例では、さまざまな入力での ​toString​ の動作を示します。

ソース

%dw 2.0
import * from dw::util::Coercions
output application/json
---
{
   aDate: toString(|2003-10-01|, "uuuu/MM/dd"),
   aDateTime: toString(|2018-09-17T22:13:00-03:00|),
   aLocalTime: toString(|23:57:59|, "HH-mm-ss"),
   aLocalDateTime : toString(|2015-10-01T23:57:59|),
   aLocalDateTimeFormatted: toString(|2003-10-01T23:57:59|, "uuuu-MM-dd HH:mm:ss a"),
   aLocalDateTimeFormattedAndLocalizedSpain: toString(|2003-01-01T23:57:59|, "eeee, dd MMMM, uuuu HH:mm:ss a", "ES"),
   aTime: typeOf(|22:10:18Z|),
   aTimeZone: toString(|-03:00|)
}

出力

{
  "aDate": "2003/10/01",
  "aDateTime": "2018-09-17T22:13:00-03:00",
  "aLocalTime": "23-57-59",
  "aLocalDateTime": "2015-10-01T23:57:59",
  "aLocalDateTimeFormatted": "2003-10-01 23:57:59 PM",
  "aLocalDateTimeFormattedAndLocalizedSpain": "miércoles, 01 enero, 2003 23:57:59 p. m.",
  "aTime": "Time",
  "aTimeZone": "-03:00"
}

toString(binary: Binary, encoding: String): String

指定されたエンコーディングを使用して ​Binary​ 値を ​String​ 値に変換する ​toString​ のバリエーション。

DataWeave バージョン 2.4.0 で導入されました。

パラメーター

名前 説明

binary

String​ 値に強制変換する ​Binary​ 値。

encoding

String​ 値に適用するエンコーディング。JDK でサポートされているエンコーディングを受け入れます。たとえば、​encoding​ は Oracle JDK 8 と JDK 11 の基本および拡張エンコーディングセットの Java 正規名と別名を受け入れます。

次の例では、さまざまな入力での ​toString​ の動作を示します。

ソース

%dw 2.0
import * from dw::util::Coercions
var binaryData= "DW Test" as Binary {encoding: "UTF-32"}
output application/json
---
{
  a: toString(binaryData, "UTF-32"),
}

出力

{
  "a": "DW Test"
}

toString(data: TimeZone | Uri | Boolean | Period | Regex | Key): String

TimeZone​、​Uri​、​Boolean​、​Period​、​Regex​、または ​Key​ 値を文字列に変換する ​toString​ のバリエーション。

DataWeave バージョン 2.4.0 で導入されました。

パラメーター

名前 説明

data

String​ 値に強制変換する ​TimeZone​、​Uri​、​Boolean​、​Period​、​Regex​、または ​Key​ 値。

次の例では、さまざまな入力での ​toString​ の動作を示します。

ソース

%dw 2.0
import * from dw::util::Coercions
output application/json
---
{
  transformTimeZone: toString(|Z|),
  transformBoolean: toString(true),
  transformPeriod: toString(|P1D|),
  transformRegex: toString(/a-Z/),
  transformPeriod: toString(|PT8M10S|),
  transformUri: toString("https://docs.mulesoft.com/" as Uri)
}  ++
{ transformKey : toString((keysOf({ "aKeyToString" : "aValue"})[0])) }

出力

{
  "transformTimeZone": "Z",
  "transformBoolean": "true",
  "transformPeriod": "P1D",
  "transformRegex": "a-Z",
  "transformPeriod": "PT8M10S",
  "transformUri": "https://docs.mulesoft.com/",
  "transformKey": "aKeyToString"
}

toString(arr: Array<String>): String

文字の ​Array​ を 1 つの ​String​ 値に結合する ​toString​ のバリエーション。

DataWeave バージョン 2.4.0 で導入されました。

パラメーター

名前 説明

arr

String​ 値に変換する文字の ​Array​。

次の例では、さまざまな入力での ​toString​ の動作を示します。

ソース

%dw 2.0
import * from dw::util::Coercions
output application/json
---
{
  a: toString([]),
  b: toString(["h", "o", "l", "a"])
}

出力

{
  "a": "",
  "b": "hola"
}