VarParseNumFromStr 関数 (oleauto.h)
文字列を解析し、それが表す数値の型に依存しない説明を作成します。
構文
HRESULT VarParseNumFromStr(
[in] LPCOLESTR strIn,
[in] LCID lcid,
[in] ULONG dwFlags,
[out] NUMPARSE *pnumprs,
[out] BYTE *rgbDig
);
パラメーター
[in] strIn
変換する入力文字列。
[in] lcid
ロケール識別子です。
[in] dwFlags
呼び出し元が解析を制御できるようにします。したがって、数値の許容可能な構文を定義します。 このフィールドが 0 に設定されている場合、入力文字列には 10 進数以外の数字を含める必要があります。 定義された各フラグ ビットを設定すると、その構文機能の解析が可能になります。 Standard Automation の解析 ( たとえば、VarI2FromStr で使用) には、すべてのフラグが設定されています (NUMPRS_STD)。
[out] pnumprs
解析された結果。
[out] rgbDig
数値が 8 進数、10 進数、16 進数のいずれであるかに応じて、0 ~ 7、0 から 9、または 0 から 15 の範囲の数字の値。 先頭のすべてのゼロが削除されました。 10 進数の場合、数値が 0 でない限り、末尾の 0 も削除されます。この場合、1 つの 0 桁が存在します。
戻り値
この関数は、これらの値のいずれかを返すことができます。
リターン コード | 説明 |
---|---|
|
正常終了しました。 |
|
内部メモリの割り当てに失敗しました。 (DBCS では、すべてのワイド文字がナローにマップされたコピーを作成するためにのみ使用されます。 |
|
文字列に有効な数値が含まれないか、始めかっこと一致する閉じかっこがありません。 前者の場合、NUMPARSE 構造体で cDig と cchUsed は 0 になります。 後者では、閉じかっこが存在するかのように、NUMPARSE 構造体と数字配列が完全に更新されます。 |
|
16 進数と 8 進数の場合、配列に収まる桁数よりも多くの数字があります。 decimal の場合、指数が可能な最大値を超えています。 どちらの場合も、NUMPARSE 構造体と数字配列は完全に更新されます (10 進数の場合、cchUsed フィールドは指数部全体を除外します)。 |
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | oleauto.h |
Library | OleAut32.lib |
[DLL] | OleAut32.dll |