NumberFormatter - スコープ対象、グローバル

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:6分
  • NumberFormatter API には、現在のユーザーの言語に従って書式設定された数値を返すメソッドが含まれています。

    この API はスコープ対象アプリとグローバルアプリで利用でき、 sn_i18n 名前空間で実行されます。

    言語またはロケール別に書式設定されている場合、ユーザーは想定どおりに数字を表示できます。たとえば、ロケールが fr (フランス語) の場合、100.00 として指定された値は 100,00 として返されます。

    NumberFormatter – format(数値番号)

    現在のユーザーの言語設定に従って書式設定された数値の文字列表現を返します。

    表 : 1. パラメーター
    名前 タイプ 説明
    番号 番号 任意のサイズの番号。
    表 : 2. 返される内容
    タイプ 説明
    文字列 現在のユーザーの言語設定に従って書式設定された番号。

    次の例は、言語がスペイン語に設定されたユーザーの返される結果を示しています。

    gs.info("Number is: " + sn_i18n.NumberFormatter.format(123456.789));
    gs.info("Number is: " + sn_i18n.NumberFormatter.format(-123456.789));

    出力:

    Number is: 123.456,789
    Number is: -123.456,789

    NumberFormatter – formatLang(数値、数値、文字列言語)

    パラメーターとして渡された言語に従って書式設定された数値の文字列表現を返します。

    表 : 3. パラメーター
    名前 タイプ 説明
    番号 番号 任意のサイズの番号。
    言語 文字列 IETF BCP-47 に準拠した言語タグ。
    表 : 4. 返される内容
    タイプ 説明
    文字列 パラメーターとして渡された言語に従って書式設定された数値。

    次の例は、ドイツ語設定の出力を示しています。

    gs.info("Number is: " + sn_i18n.NumberFormatter.formatLang(123456.789, "de-de"));
    gs.info("Number is: " + sn_i18n.NumberFormatter.formatLang(-123456.789, "de-de"));

    出力:

    Number is: 123.456,789
    Number is: -123.456,789

    NumberFormatter - parseWithLocale(String number, String language, String country)

    渡されたテキスト文字列から数値を左から右に解析し、数値を抽出します。次に、渡された国と言語コードを使用して番号のロケールを識別し、解析された番号をその形式で返します。

    このメソッドは、数値または通貨セパレーターとして認識されない文字に達するまで文字列を解析します。

    表 : 5. パラメーター
    名前 タイプ 説明
    番号 文字列 解析する文字列。この文字列には、数値と通貨区切り文字 (カンマや小数点など) を含めることができます。例:「24,506.55」または「45.677,89」。
    言語 文字列 2 文字の ISO-639 言語コード。
    country 文字列 2 文字の ISO-3166 国コード。
    表 : 6. 返される内容
    タイプ 説明
    番号 指定されたロケールの形式で解析された番号。

    文字列の最初の文字を解析できない場合は、例外をスローします。

    例:
    • "123.34":ロケールの小数点がピリオドである限り、123.34 に解析します。
    • "1,234.56":ロケールのグループ化区切り文字がカンマで、小数点がピリオドである限り、1234.56 に解析します。
    • "1.234.567,89": グループ化セパレーターがピリオド以外の場合、1 に解析します。
    • "123x456":123 に解析します。
    • "text123": メソッドが ParseException をスローします。

    次のコード例は、さまざまなロケールの文字列の解析と、予期しない区切り文字を使用した文字列の解析を示しています。最後の例では、スペースが有効な区切り文字ではないため、文字列を部分的にしか解析しません。

    var x = sn_i18n.NumberFormatter.parseWithLocale("48,837.77", "en", "US");
    var y =  sn_i18n.NumberFormatter.parseWithLocale("77.931,22", "de", "DE");
    var z = sn_i18n.NumberFormatter.parseWithLocale("562 339,89", "fr", "FR");
    var specialCase = sn_i18n.NumberFormatter.parseWithLocale("400 797,67", "en", "US");
    
    gs.info(x);
    gs.info(y);
    gs.info(z);
    gs.info(specialCase);

    出力:

    48837.77
    77931.22
    562339.89
    400

    NumberFormatter - parseWithSeparators(String number, String groupingSeparator, String decimalSeparator)

    解析できない文字が見つかるまで、渡されたテキスト文字列から数値を解析して返します。解析可能な値には、数値、指定されたグループおよび小数点区切り記号が含まれます。

    表 : 7. パラメーター
    名前 タイプ 説明
    番号 文字列 解析する文字列。この文字列には、数値と、指定された区切り文字 (カンマや小数点など) を含めることができます。例:「24,506.55」または「45.677,89」。
    groupingセパレータ 文字列 渡された文字列内のグループ化セパレーター (10 桁区切り記号とも呼ばれます) を示す文字。

    例:カンマ「,」、ピリオド「.」、またはスペース「」。

    decimalSeparator 文字列 渡された文字列内の小数点を示す文字。

    例:カンマ「,」、ピリオド「.」、またはスペース「」。

    表 : 8. 返される内容
    タイプ 説明
    番号 解析された番号。

    文字列の最初の文字を解析できない場合は、例外をスローします。

    例:
    • "123.34":ロケールの小数点がピリオドである限り、123.34 に解析します。
    • "1,234.56":ロケールのグループ化区切り文字がカンマで、小数点がピリオドである限り、1234.56 に解析します。
    • "1.234.567,89": グループ化セパレーターがピリオド以外の場合、1 に解析します。
    • "123x456":123 に解析します。
    • "text123": メソッドが ParseException をスローします。

    次のコード例は、さまざまなセパレーターを使用して数値を解析する方法を示しています。最後の解析例では、スペースが有効な区切り文字ではないため、数値の最初の 3 桁のみが解析されることに注意してください。

    var x = sn_i18n.NumberFormatter.parseWithSeparators('48,837.77', ',', '.');
    var y =  sn_i18n.NumberFormatter.parseWithSeparators('77.931,22', '.', ',');
    var z = sn_i18n.NumberFormatter.parseWithSeparators('562 339,89', ' ', ',');
    var specialCase = sn_i18n.NumberFormatter.parseWithSeparators('400 797,67', '.', ',');
    
    gs.info(x);
    gs.info(y);
    gs.info(z);
    gs.info(specialCase);

    出力:

    48837.77
    77931.22
    562339.89
    400