GetNumberFormatEx 関数 (winnls.h)
名前で指定されたロケールに合わせてカスタマイズされた数値文字列として数値文字列を書式設定します。
構文
int GetNumberFormatEx(
[in, optional] LPCWSTR lpLocaleName,
[in] DWORD dwFlags,
[in] LPCWSTR lpValue,
[in, optional] const NUMBERFMTW *lpFormat,
[out, optional] LPWSTR lpNumberStr,
[in] int cchNumber
);
パラメーター
[in, optional] lpLocaleName
ロケール名、または次のいずれかの定義済み値へのポインター。
[in] dwFlags
関数の操作を制御するフラグ。 lpFormat が NULL に設定されていない場合、アプリケーションはこのパラメーターを 0 に設定する必要があります。 この場合、関数は、ロケールの既定の数値形式にユーザーオーバーライドを使用して文字列の書式を設定します。 lpFormat が NULL に設定されている場合、アプリケーションはLOCALE_NOUSEROVERRIDEを指定して、指定したロケールのシステムの既定の数値形式を使用して文字列の書式を設定できます。
[in] lpValue
書式設定する数値文字列を含む null で終わる文字列へのポインター。 この文字列には、次の文字のみを含めることができます。 その他の文字はすべて無効です。 lpValue で示される文字列がこれらの規則から逸脱した場合、関数はエラーを返します。
- 文字 "0" ~ "9"
- 数値が浮動小数点値の場合は、1 つの小数点 (ドット)。
- 数値が負の値の場合は、最初の文字位置のマイナス記号。
[in, optional] lpFormat
数値書式情報を含む NUMBERFMT 構造体へのポインター。すべてのメンバーが適切な値に設定されています。 アプリケーションでこのパラメーターが NULL に設定されていない場合、関数は、構造体で指定されていない書式設定情報 (負符号のロケール文字列値など) にのみロケールを使用します。
[out, optional] lpNumberStr
この関数が書式設定された数値文字列を取得するバッファーへのポインター。 または、cchNumber が 0 に設定されている場合、このパラメーターには NULL が含まれます。 この場合、関数は数値文字列バッファーに必要なサイズを返します。
[in] cchNumber
lpNumberStr で示される数値文字列バッファーのサイズ (文字数)。 または、アプリケーションでこのパラメーターを 0 に設定することもできます。 この場合、関数は数値文字列バッファーに必要なサイズを返し、 lpNumberStr パラメーターを使用しません。
戻り値
成功した場合に lpNumberStr で示されるバッファー内で取得された文字数を返します。 cchNumber パラメーターが 0 に設定されている場合、関数は、書式設定された数値文字列を保持するために必要な文字数 (終端の null 文字を含む) を返します。
成功しなかった場合、関数は 0 を返します。 拡張エラー情報を取得するために、アプリケーションは GetLastError を呼び出すことができます。このエラー コードは、次のいずれかのエラー コードを返すことができます。
- ERROR_INSUFFICIENT_BUFFER。 指定されたバッファー サイズが十分な大きさではなかったか、 正しく NULL に設定されていません。
- ERROR_INVALID_FLAGS。 フラグに指定された値が無効です。
- ERROR_INVALID_PARAMETER。 パラメーター値のいずれかが無効です。
- ERROR_OUTOFMEMORY。 この操作を完了するのに十分な記憶域が使用できませんでした。
注釈
Windows 8以降: アプリが Windows.Globalization 名前空間からこの関数に言語タグを渡す場合は、最初に ResolveLocaleName を呼び出してタグを変換する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ | UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリ | UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | winnls.h (Windows.h を含む) |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |