次の方法で共有


GetCurrencyFormatA 関数 (winnls.h)

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

メモ 相互運用性の理由から、Microsoft は新しいロケールのロケール識別子ではなくロケール名の使用に移行するため、GetCurrencyFormatEx 関数 getCurrencyFormatEx を することをお勧めします。 Windows Vista 以降でのみ実行されるアプリケーションは、GetCurrencyFormatEx使用する必要があります。
 

構文

int GetCurrencyFormatA(
  [in]            LCID               Locale,
  [in]            DWORD              dwFlags,
  [in]            LPCSTR             lpValue,
  [in, optional]  const CURRENCYFMTA *lpFormat,
  [out, optional] LPSTR              lpCurrencyStr,
  [in]            int                cchCurrency
);

パラメーター

[in] Locale

この関数が通貨文字列を書式設定するロケールを指定するロケール識別子MAKELCID マクロを使用してロケール識別子を作成するか、次のいずれかの定義済み値を使用できます。

[in] dwFlags

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

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

[in] lpValue

詳細については、getCurrencyFormatExの lpValue パラメーター 参照してください。

[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。 パラメーター値のいずれかが無効でした。

備考

この関数は、カスタム ロケールからデータ 取得できます。 データは、コンピューター間、またはアプリケーションの実行間で同じであるとは限りません。 アプリケーションでデータを永続化または送信する必要がある場合は、「永続的なロケール データの使用 」を参照してください。

この関数の ANSI バージョンを Unicode のみのロケール識別子と共に使用すると、オペレーティング システムがシステム コード ページを使用するため、呼び出しが成功する可能性があります。 ただし、システム コード ページで未定義の文字は、文字列に疑問符 (?) として表示されます。

手記

winnls.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして GetCurrencyFormat を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winnls.h (Windows.h を含む)
ライブラリ Kernel32.lib
DLL Kernel32.dll

関連項目

CURRENCYFMT を する

GetCurrencyFormatEx を する

GetNumberFormat の

各国語サポート

各国語サポート関数