VarNumFromParseNum 函数 (oleauto.h)

将分析的结果转换为变体。

语法

HRESULT VarNumFromParseNum(
  [in]  NUMPARSE *pnumprs,
  [in]  BYTE     *rgbDig,
  [in]  ULONG    dwVtBits,
  [out] VARIANT  *pvar
);

参数

[in] pnumprs

分析的结果。 此参数的 cDig 成员指定 rgbDig 中存在的位数。

[in] rgbDig

数字的值。 pnumprscDig 字段包含位数。

[in] dwVtBits

在许多情况下,每个类型都设置了一个可接受为返回值 (的位,只有一个位) 。

VTBIT_I1

VTBIT_UI1

VTBIT_I2

VTBIT_UI2

VTBIT_I4

VTBIT_UI4

VTBIT_R4

VTBIT_R8

VTBIT_CY

VTBIT_DECIMAL

[out] pvar

变体结果。

返回值

此函数可以返回其中一个值。

返回代码 说明
S_OK
成功。
E_OUTOFMEMORY
内存不足。
DISP_E_OVERFLOW
该数字太大,无法以允许的类型表示。 如果在转换中丢失精度,则不会出错。

注解

对于舍入十进制数,数字数组必须至少比数据类型所需的最大值长一位数。 DECIMAL 数据类型所需的最大位数为 29,因此数字数组必须有 30 个数字的空间。 如果选择了分析选项,还必须有足够的数字来接受八进制数字。 (十六进制数和八进制数受 VarNumFromParseNum 限制为无符号长 [32 位] 的大小,因此它们需要 11 个八进制数字。)

要求

要求
目标平台 Windows
标头 oleauto.h
Library OleAut32.lib
DLL OleAut32.dll