Поделиться через


Функция 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

Позволяет вызывающей объекту управлять синтаксический анализ, таким образом определяя допустимый синтаксис числа. Если для этого поля задано нулевое значение, входная строка должна содержать только десятичные цифры. Задание каждого определенного бита флага позволяет проанализировать синтаксический компонент. Для стандартного анализа службы автоматизации (например, в varI2FromStr) заданы все флаги (NUMPRS_STD).

[out] pnumprs

Проанализированные результаты.

[out] rgbDig

Значения цифр в диапазоне от 0 до 7, 0–9 или 0–15 в зависимости от того, является ли число восьмеричным, десятичным или шестнадцатеричным. Все начальные нули были удалены. Для десятичных чисел конечные нули также удаляются, если число не равно нулю, в этом случае будет присутствовать одна нулевая цифра.

Возвращаемое значение

Эта функция может возвращать одно из этих значений.

Код возврата Описание
S_OK
Успешно.
E_OUTOFMEMORY
Сбой выделения внутренней памяти. (Используется для DBCS только для создания копии со всеми расширенными символами, сопоставленными узко.)
DISP_E_TYPEMISMATCH
В строке нет допустимого числа или закрывающей круглых скобок, соответствующих открывающей. В первом случае cDig и cchUsed в структуре NUMPARSE будут равны нулю. В последнем элементе структура NUMPARSE и массив цифр полностью обновлены, как если бы существовала закрывающая круглая скобка.
DISP_E_OVERFLOW
Для шестнадцатеричных и восьмеричных цифр больше, чем в массиве. Для десятичного числа показатель экспоненты превышает максимально возможный. В обоих случаях структура NUMPARSE и массив цифр полностью обновляются (для десятичного числа поле cchUsed исключает всю степень).

Требования

Требование Значение
Целевая платформа Windows
Header oleauto.h
Библиотека OleAut32.lib
DLL OleAut32.dll