Функция 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 в зависимости от того, является ли число восьмеричным, десятичным или шестнадцатеричным. Все начальные нули были удалены. Для десятичных чисел конечные нули также удаляются, если число не равно нулю, в этом случае будет присутствовать одна нулевая цифра.
Возвращаемое значение
Эта функция может возвращать одно из этих значений.
Код возврата | Описание |
---|---|
|
Успешно. |
|
Сбой выделения внутренней памяти. (Используется для DBCS только для создания копии со всеми расширенными символами, сопоставленными узко.) |
|
В строке нет допустимого числа или закрывающей круглых скобок, соответствующих открывающей. В первом случае cDig и cchUsed в структуре NUMPARSE будут равны нулю. В последнем элементе структура NUMPARSE и массив цифр полностью обновлены, как если бы существовала закрывающая круглая скобка. |
|
Для шестнадцатеричных и восьмеричных цифр больше, чем в массиве. Для десятичного числа показатель экспоненты превышает максимально возможный. В обоих случаях структура NUMPARSE и массив цифр полностью обновляются (для десятичного числа поле cchUsed исключает всю степень). |
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | oleauto.h |
Библиотека | OleAut32.lib |
DLL | OleAut32.dll |