Compartir a través de


Función VarParseNumFromStr (oleauto.h)

Analiza una cadena y crea una descripción independiente del tipo del número que representa.

Sintaxis

HRESULT VarParseNumFromStr(
  [in]  LPCOLESTR strIn,
  [in]  LCID      lcid,
  [in]  ULONG     dwFlags,
  [out] NUMPARSE  *pnumprs,
  [out] BYTE      *rgbDig
);

Parámetros

[in] strIn

Cadena de entrada que se va a convertir.

[in] lcid

El identificador de configuración regional.

[in] dwFlags

Permite al autor de la llamada controlar el análisis, por lo que define la sintaxis aceptable de un número. Si este campo se establece en cero, la cadena de entrada no debe contener nada más que dígitos decimales. Al establecer cada bit de marca definido, se habilita el análisis de esa característica sintáctica. El análisis de Automatización estándar (por ejemplo, como lo usa VarI2FromStr) tiene todas las marcas establecidas (NUMPRS_STD).

[out] pnumprs

Resultados analizados.

[out] rgbDig

Los valores de los dígitos del intervalo entre 0 y 7, 0–9 o 0–15, dependiendo de si el número es octal, decimal o hexadecimal. Se han quitado todos los ceros iniciales. En el caso de los números decimales, los ceros finales también se quitan, a menos que el número sea cero, en cuyo caso habrá un solo dígito cero.

Valor devuelto

Esta función puede devolver uno de estos valores.

Código devuelto Descripción
S_OK
Correcto.
E_OUTOFMEMORY
Error en la asignación de memoria interna. (Se usa solo para DBCS para crear una copia con todos los caracteres anchos asignados).
DISP_E_TYPEMISMATCH
No hay ningún número válido en la cadena o no hay paréntesis de cierre para que coincida con uno de apertura. En el caso anterior, cDig y cchUsed en la estructura NUMPARSE serán cero. En este último, la estructura NUMPARSE y la matriz de dígitos se actualizan completamente, como si estuviera presente el paréntesis de cierre.
DISP_E_OVERFLOW
En el caso de los dígitos hexadecimales y octales, hay más dígitos de los que caben en la matriz. Para decimal, el exponente supera el máximo posible. En ambos casos, la estructura NUMPARSE y la matriz de dígitos se actualizan completamente (para decimal, el campo cchUsed excluye todo el exponente).

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado oleauto.h
Library OleAut32.lib
Archivo DLL OleAut32.dll