Compartilhar via


Função VarParseNumFromStr (oleauto.h)

Analisa uma cadeia de caracteres e cria uma descrição independente de tipo do número que ela representa.

Sintaxe

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

Parâmetros

[in] strIn

A cadeia de caracteres de entrada a ser convertida.

[in] lcid

O identificador de localidade.

[in] dwFlags

Permite que o chamador controle a análise, definindo, portanto, a sintaxe aceitável de um número. Se esse campo for definido como zero, a cadeia de caracteres de entrada não deverá conter nada além de dígitos decimais. Definir cada bit de sinalizador definido permite a análise desse recurso sintactico. A análise de Automação Padrão (por exemplo, conforme usado por VarI2FromStr) tem todos os sinalizadores definidos (NUMPRS_STD).

[out] pnumprs

Os resultados analisados.

[out] rgbDig

Os valores dos dígitos no intervalo de 0 a 7, 0 a 9 ou 0 a 15, dependendo se o número é octal, decimal ou hexadecimal. Todos os zeros à esquerda foram retirados. Para números decimais, zeros à direita também são removidos, a menos que o número seja zero, nesse caso, um único dígito zero estará presente.

Retornar valor

Essa função pode retornar um desses valores.

Código de retorno Descrição
S_OK
Êxito.
E_OUTOFMEMORY
Falha na alocação de memória interna. (Usado apenas para DBCS para criar uma cópia com todos os caracteres largos mapeados estreitos.)
DISP_E_TYPEMISMATCH
Não há um número válido na cadeia de caracteres ou não há parênteses de fechamento para corresponder a um de abertura. No caso anterior, cDig e cchUsed na estrutura NUMPARSE serão zero. Neste último, a estrutura NUMPARSE e a matriz de dígitos são totalmente atualizadas, como se o parêntese de fechamento estivesse presente.
DISP_E_OVERFLOW
Para dígitos hexadecimais e octais, há mais dígitos do que caberão na matriz. Para decimal, o expoente excede o máximo possível. Em ambos os casos, a estrutura NUMPARSE e a matriz de dígitos são totalmente atualizadas (para decimal, o campo cchUsed exclui todo o expoente).

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho oleauto.h
Biblioteca OleAut32.lib
DLL OleAut32.dll