GetCurrencyFormatEx 関数 (winnls.h)

数値文字列を、名前で指定されたロケールの通貨文字列として書式設定します。

メモ アプリケーションは、Windows Vista 以降でのみ実行するように設計されている場合は 、GetCurrencyFormat を優先してこの関数を呼び出す必要があります。

 
メモ この関数は、たとえばカスタム ロケールのためにリリース間で変更されるデータを書式設定できます。 アプリケーションでデータを永続化または送信する必要がある場合は、「 永続的なロケール データの使用」を参照してください。
 

構文

int GetCurrencyFormatEx(
  [in, optional]  LPCWSTR            lpLocaleName,
  [in]            DWORD              dwFlags,
  [in]            LPCWSTR            lpValue,
  [in, optional]  const CURRENCYFMTW *lpFormat,
  [out, optional] LPWSTR             lpCurrencyStr,
  [in]            int                cchCurrency
);

パラメーター

[in, optional] lpLocaleName

ロケール名または次のいずれかの定義済み値へのポインター。

[in] dwFlags

関数の操作を制御するフラグ。 lpFormatNULL に設定されていない場合、アプリケーションはこのパラメーターを 0 に設定する必要があります。 この場合、関数は、ユーザーオーバーライドを使用して文字列の書式をロケールの既定の通貨形式に設定します。 lpFormatNULL に設定されている場合、アプリケーションはLOCALE_NOUSEROVERRIDEを指定して、指定したロケールのシステムの既定の通貨形式を使用して文字列を書式設定できます。

注意 ユーザー設定 無効になっているため、LOCALE_NOUSEROVERRIDEの使用は強くお勧めしません。
 

[in] lpValue

書式設定する数値文字列を含む null で終わる文字列へのポインター。 この文字列には、次の文字のみを含めることができます。 その他の文字はすべて無効です。 この関数は、文字列がこれらの規則から逸脱した場合にエラーを返します。

  • 文字 "0" から "9"
  • 数値が浮動小数点値の場合は 1 つの小数点 (ドット)
  • 数値が負の値の場合、最初の文字位置のマイナス記号

[in, optional] lpFormat

通貨書式情報を含む CURRENCYFMT 構造体へのポインター。 構造体のすべてのメンバーに適切な値を含める必要があります。 関数が指定したロケールの通貨形式を使用する場合、アプリケーションはこのパラメーターを NULL に設定できます。 このパラメーターが NULL に設定されていない場合、関数は、 CURRENCYFMT 構造体で指定されていない書式設定情報 (ロケールで使用される負の符号の文字列値など) に対してのみ、指定されたロケールを使用します。

[out, optional] lpCurrencyStr

この関数が書式設定された通貨文字列を取得するバッファーへのポインター。

[in] cchCurrency

lpCurrencyStr バッファーのサイズ (文字単位)。 このパラメーターを 0 に設定すると、書式設定された通貨文字列を保持するために必要なバッファーのサイズを返すことができます。 この場合、 lpCurrencyStr で示されるバッファーは使用されません。

戻り値

成功した場合に lpCurrencyStr によって示されるバッファー内で取得された文字数を返します。 cchCurrency パラメーターが 0 の場合、関数は、書式設定された通貨文字列を保持するために必要なバッファーのサイズ (終端の null 文字を含む) を返します。

成功しなかった場合、関数は 0 を返します。 拡張エラー情報を取得するために、アプリケーションは GetLastError を呼び出すことができます。これにより、次のいずれかのエラー コードが返されます。

  • ERROR_INSUFFICIENT_BUFFER。 指定されたバッファー サイズが十分に大きくなかったか、 正しく NULL に設定されていませんでした。
  • ERROR_INVALID_FLAGS。 フラグに指定された値が無効でした。
  • ERROR_INVALID_PARAMETER。 パラメーター値のいずれかが無効です。

解説

Windows 8 以降: アプリが Windows.Globalization 名前空間からこの関数に言語タグを渡す場合は、最初に ResolveLocaleName を呼び出してタグを変換する必要があります。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー winnls.h (Windows.h を含む)
Library Kernel32.lib
[DLL] Kernel32.dll

関連項目

CURRENCYFMT

GetCurrencyFormat

GetNumberFormatEx

各国語サポート

各国語サポート関数