Функция VarNumFromParseNum (oleauto.h)
Преобразует проанализированные результаты в вариант.
Синтаксис
HRESULT VarNumFromParseNum(
[in] NUMPARSE *pnumprs,
[in] BYTE *rgbDig,
[in] ULONG dwVtBits,
[out] VARIANT *pvar
);
Параметры
[in] pnumprs
Проанализированные результаты. Элемент cDig этого аргумента указывает количество цифр, присутствующих в rgbDig.
[in] rgbDig
Значения цифр. Поле cDigpnumprs содержит количество цифр.
[in] dwVtBits
Для каждого типа, приемлемого в качестве возвращаемого значения, устанавливается один бит (во многих случаях — только один бит).
VTBIT_I1
VTBIT_UI1
VTBIT_I2
VTBIT_UI2
VTBIT_I4
VTBIT_UI4
VTBIT_R4
VTBIT_R8
VTBIT_CY
VTBIT_DECIMAL
[out] pvar
Результат варианта.
Возвращаемое значение
Эта функция может возвращать одно из этих значений.
Код возврата | Описание |
---|---|
|
Успешно. |
|
Недостаточно памяти. |
|
Число слишком велико для представления в допустимом типе. Ошибка отсутствует при потере точности при преобразовании. |
Комментарии
Для округления десятичных чисел массив цифр должен быть по крайней мере на одну цифру длиннее максимального значения, необходимого для типов данных. Максимальное число цифр, необходимых для типа данных DECIMAL, равно 29, поэтому в массиве цифр должно быть 30 цифр. Также должно быть достаточно цифр для принятия числа в восьмерике, если выбраны параметры синтаксического анализа. (Шестнадцатеричное и восьмеричное числа ограничены varNumFromParseNum величиной длинного без знака [32 бита], поэтому им требуется 11 восьмеричных цифр.)
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | oleauto.h |
Библиотека | OleAut32.lib |
DLL | OleAut32.dll |