GetNumberFormatA 関数 (winnls.h)
識別子で指定されたロケールに合わせてカスタマイズされた数値文字列として数値文字列を書式設定します。
構文
int GetNumberFormatA(
[in] LCID Locale,
[in] DWORD dwFlags,
[in] LPCSTR lpValue,
[in, optional] const NUMBERFMTA *lpFormat,
[out, optional] LPSTR lpNumberStr,
[in] int cchNumber
);
パラメーター
[in] Locale
ロケールを指定するロケール識別子。 MAKELCID マクロを使用してロケール識別子を作成するか、次のいずれかの定義済み値を使用できます。
- LOCALE_CUSTOM_DEFAULT
- LOCALE_CUSTOM_UI_DEFAULT
- LOCALE_CUSTOM_UNSPECIFIED
- LOCALE_INVARIANT
- LOCALE_SYSTEM_DEFAULT
- LOCALE_USER_DEFAULT
[in] dwFlags
関数の操作を制御するフラグ。 lpFormat が NULLに設定されていない場合
[in] lpValue
書式設定する数値文字列を含む null で終わる文字列へのポインター。 この文字列には、次の文字のみを含めることができます。 その他の文字はすべて無効です。 この関数は、lpValue によって示される文字列
- 文字 "0" ~ "9"
- 数値が浮動小数点値の場合は、1 つの小数点 (ドット)。
- 数値が負の値の場合は、最初の文字位置の負符号。
[in, optional] lpFormat
数値書式情報を含む NUMBERFMT 構造体へのポインター。すべてのメンバーが適切な値に設定されています。 このパラメーターが null
[out, optional] lpNumberStr
この関数が書式設定された数値文字列を取得するバッファーへのポインター。
[in] cchNumber
lpNumberStrで示される数値文字列バッファーのサイズ (TCHAR 値)。 または、アプリケーションでこのパラメーターを 0 に設定することもできます。 この場合、この関数は数値文字列バッファーに必要なサイズを返し、lpNumberStr パラメーターを使用しません。
戻り値
成功した場合に lpNumberStr によって示されるバッファーで取得された TCHAR 値
成功しなかった場合、関数は 0 を返します。 拡張エラー情報を取得するために、アプリケーションは GetLastError
- ERROR_INSUFFICIENT_BUFFER。 指定されたバッファー サイズが十分な大きさではなかったか、NULL
正しく設定されていません。 - ERROR_INVALID_FLAGS。 フラグに指定された値が無効でした。
- ERROR_INVALID_PARAMETER。 パラメーター値のいずれかが無効でした。
- ERROR_OUTOFMEMORY。 この操作を完了するのに十分な記憶域が使用できませんでした。
備考
この関数は、カスタム ロケールからデータ
この関数の ANSI バージョンを Unicode のみのロケール識別子と共に使用すると、オペレーティング システムがシステム コード ページを使用するため、関数は成功する可能性があります。 ただし、システム コード ページで未定義の文字は、文字列に疑問符 (?) として表示されます。
手記
winnls.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして GetNumberFormat を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows 2000 Server [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | winnls.h (Windows.h を含む) |
ライブラリ | Kernel32.lib |
DLL | Kernel32.dll |
関連項目
GetNumberFormatEx を