Partager via


Fonction VarParseNumFromStr (oleauto.h)

Analyse une chaîne et crée une description indépendante du type du nombre qu’elle représente.

Syntaxe

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

Paramètres

[in] strIn

Chaîne d’entrée à convertir.

[in] lcid

Identificateur de paramètres régionaux.

[in] dwFlags

Permet à l’appelant de contrôler l’analyse, définissant ainsi la syntaxe acceptable d’un nombre. Si ce champ est défini sur zéro, la chaîne d’entrée ne doit contenir que des chiffres décimaux. La définition de chaque bit d’indicateur défini permet l’analyse de cette fonctionnalité syntaxique. L’analyse Standard Automation (par exemple, telle qu’utilisée par VarI2FromStr) a tous les indicateurs définis (NUMPRS_STD).

[out] pnumprs

Résultats analysés.

[out] rgbDig

Valeurs des chiffres de la plage 0-7, 0-9 ou 0-15, selon que le nombre est octal, décimal ou hexadécimal. Tous les zéros de tête ont été supprimés. Pour les nombres décimaux, les zéros de fin sont également supprimés, sauf si le nombre est égal à zéro, auquel cas un seul chiffre zéro sera présent.

Valeur retournée

Cette fonction peut retourner l’une de ces valeurs.

Code de retour Description
S_OK
Réussite.
E_OUTOFMEMORY
Échec de l’allocation de mémoire interne. (Utilisé pour DBCS uniquement pour créer une copie avec tous les caractères larges mappés étroits.)
DISP_E_TYPEMISMATCH
Il n’y a pas de nombre valide dans la chaîne ou il n’y a pas de parenthèse fermante pour correspondre à un nombre ouvert. Dans le premier cas, cDig et cchUsed dans la structure NUMPARSE seront zéro. Dans ce dernier, la structure NUMPARSE et le tableau de chiffres sont entièrement mis à jour, comme si la parenthèse fermante était présente.
DISP_E_OVERFLOW
Pour les chiffres hexadécimaux et octaux, il y a plus de chiffres que ne le fera le tableau. Pour la décimale, l’exposant dépasse le maximum possible. Dans les deux cas, la structure NUMPARSE et le tableau de chiffres sont entièrement mis à jour (pour la décimale, le champ cchUsed exclut l’exposant entier).

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête oleauto.h
Bibliothèque OleAut32.lib
DLL OleAut32.dll