Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Int32.Parse méthode (String, NumberStyles, IFormatProvider)

 

Date de publication : novembre 2016

Convertit la représentation sous forme de chaîne d'un nombre dans un style et un format propre à une culture spécifiés en entier 32 bits signé équivalent.

Espace de noms:   System
Assembly:  mscorlib (dans mscorlib.dll)

public static int Parse(
	string s,
	NumberStyles style,
	IFormatProvider provider
)

Paramètres

s
Type: System.String

Chaîne contenant un nombre à convertir.

style
Type: System.Globalization.NumberStyles

Combinaison de bits de valeurs d'énumération qui indique les éléments de style qui peuvent être présents dans s. Une valeur typique à spécifier est Integer.

provider
Type: System.IFormatProvider

Objet qui fournit des informations spécifiques à la culture concernant le format de s.

Valeur de retour

Type: System.Int32

Entier 32 bits signé équivalant au nombre spécifié dans s.

Exception Condition
ArgumentNullException

s a la valeur null.

ArgumentException

style n’est pas une valeur NumberStyles.

ou

style n’est pas une combinaison des valeurs AllowHexSpecifier et HexNumber.

FormatException

s n’est pas dans un format compatible avec style.

OverflowException

s représente un nombre inférieur à MinValue ou supérieur à MaxValue.

ou

s inclut des chiffres fractionnaires différents de zéro.

Le style paramètre définit les éléments de style (par exemple, un espace blanc ou signe positif) qui sont autorisés dans les s paramètre pour l’opération d’analyse. Il doit être une combinaison de bits indicateurs de le NumberStyles énumération. Selon la valeur de style, le s paramètre peut inclure les éléments suivants :

[ws] [$] [connexion] [chiffres,] chiffres [.fractional_digist] [e [signe] chiffres_exponentiels] [ws]

Ou, si style inclut AllowHexSpecifier:

[hexdigits ws] [ws]

Éléments dans des crochets ([et]) sont facultatifs. Le tableau suivant décrit chaque élément.

Élément

Description

ws

Espace blanc facultatif. Espace blanc peut apparaître au début de s si style inclut la NumberStyles.AllowLeadingWhite indicateur, qui peuvent apparaître à la fin de s si style inclut la NumberStyles.AllowTrailingWhite indicateur.

$

Un symbole monétaire spécifique à la culture. Sa position dans la chaîne est définie par le NumberFormatInfo.CurrencyPositivePattern propriété de la NumberFormatInfo objet retourné par la GetFormat méthode de le provider paramètre. Le symbole monétaire peut apparaître dans s si style inclut la NumberStyles.AllowCurrencySymbol indicateur.

sign

Un signe facultatif. Le signe peut apparaître au début de s si style inclut la NumberStyles.AllowLeadingSign indicateur ou à la fin de s si style inclut la NumberStyles.AllowTrailingSign indicateur. Parenthèses peuvent être utilisées dans s pour indiquer une valeur négative si style inclut la NumberStyles.AllowParentheses indicateur.

chiffres

chiffres fractionnaires

chiffres_exponentiels

Une séquence de chiffres de 0 à 9. Pour chiffres fractionnaires, seul le chiffre 0 est valide.

,

Spécifiques à la culture des milliers symbole de séparateur. Les milliers séparateur de la culture spécifiée par provider peut apparaître dans s si style inclut la NumberStyles.AllowThousands indicateur.

.

Un symbole décimal spécifiques à la culture. Le symbole de virgule décimale de la culture spécifiée par provider peut apparaître dans s si style inclut la NumberStyles.AllowDecimalPoint indicateur.

Seul le chiffre 0 peut apparaître comme un chiffre de fractions de seconde pour l’opération d’analyse ; Si chiffres fractionnaires incluent un autre chiffre, une OverflowException est levée.

e

Le « e » ou un caractère « E », ce qui indique que la valeur est représentée en notation exponentielle. Le s paramètre peut représenter un nombre en notation exponentielle si style inclut la NumberStyles.AllowExponent indicateur.

hexdigits

Une séquence de chiffres hexadécimaux compris entre 0 et f, ou 0 et F.

Une chaîne contenant uniquement des chiffres décimaux (ce qui correspond à la NumberStyles.None style) toujours analysée avec succès si elle est dans la plage de la Int32 type. La plupart des restant NumberStyles membres contrôlent des éléments qui peuvent être, mais ne doivent pas être présents dans cette chaîne d’entrée. Le tableau suivant indique comment chaque NumberStyles membres affectent les éléments qui peuvent être présents dans s.

Valeurs NumberStyles non composites

Éléments autorisés dans s en plus des chiffres

NumberStyles.None

Uniquement des chiffres décimaux.

NumberStyles.AllowDecimalPoint

Le point décimal ( . ) et chiffres fractionnaires éléments. Toutefois, chiffres fractionnaires doit se composer d’un ou plusieurs chiffres 0 ou un OverflowException est levée.

NumberStyles.AllowExponent

Le s paramètre peut également utiliser la notation exponentielle. Si s représente un nombre en notation exponentielle, il doit représenter un entier dans la plage de la Int32 type de données sans composant différent de zéro et fractionnaire.

NumberStyles.AllowLeadingWhite

Le ws élément au début de s.

NumberStyles.AllowTrailingWhite

Le ws élément à la fin de s.

NumberStyles.AllowLeadingSign

Un signe positif peut apparaître avant chiffres.

NumberStyles.AllowTrailingSign

Un signe positif peut apparaître après chiffres.

NumberStyles.AllowParentheses

Le signe élément sous la forme de parenthèses entourant la valeur numérique.

NumberStyles.AllowThousands

Les milliers séparateur ( , ) élément.

NumberStyles.AllowCurrencySymbol

Le $ élément.

Si le NumberStyles.AllowHexSpecifier indicateur est utilisé, s doit être une valeur hexadécimale sans préfixe. Par exemple, « C9AF3 » a été analysée avec succès, mais n’est pas le cas de « 0xC9AF3 ». Les seuls autres indicateurs qui peuvent être présents dans style sont NumberStyles.AllowLeadingWhite et NumberStyles.AllowTrailingWhite. (Le NumberStyles énumération possède un style de numérotation composite, NumberStyles.HexNumber, qui inclut les deux indicateurs d’espace blanc.)

Le provider paramètre est un IFormatProvider mise en oeuvre, comme un NumberFormatInfo ou CultureInfo objet. Le provider paramètre fournit des informations spécifiques à la culture utilisées dans l’analyse. Si provider est null, le NumberFormatInfo de l’objet de la culture actuelle est utilisé.

L’exemple suivant utilise une variété de style et provider paramètres pour analyser les représentations sous forme de chaîne de Int32 valeurs. Il illustre également les différentes façons de que la même chaîne peut être interprétée en fonction de la culture dont les informations de mise en forme sont utilisées pour l’opération d’analyse.

using System;
using System.Globalization;

public class ParseInt32
{
   public static void Main()
   {
      Convert("12,000", NumberStyles.Float | NumberStyles.AllowThousands, 
              new CultureInfo("en-GB"));
      Convert("12,000", NumberStyles.Float | NumberStyles.AllowThousands,
              new CultureInfo("fr-FR"));
      Convert("12,000", NumberStyles.Float, new CultureInfo("en-US"));

      Convert("12 425,00", NumberStyles.Float | NumberStyles.AllowThousands,
              new CultureInfo("sv-SE"));
      Convert("12,425.00", NumberStyles.Float | NumberStyles.AllowThousands,
              NumberFormatInfo.InvariantInfo);
      Convert("631,900", NumberStyles.Integer | NumberStyles.AllowDecimalPoint, 
              new CultureInfo("fr-FR"));
      Convert("631,900", NumberStyles.Integer | NumberStyles.AllowDecimalPoint,
              new CultureInfo("en-US"));
      Convert("631,900", NumberStyles.Integer | NumberStyles.AllowThousands,
              new CultureInfo("en-US"));
   }

   private static void Convert(string value, NumberStyles style, 
                               IFormatProvider provider)
   {
      try
      {
         int number = Int32.Parse(value, style, provider);
         Console.WriteLine("Converted '{0}' to {1}.", value, number);
      }
      catch (FormatException)
      {
         Console.WriteLine("Unable to convert '{0}'.", value);
      }   
      catch (OverflowException)
      {
         Console.WriteLine("'{0}' is out of range of the Int32 type.", value);   
      }
   }                               
}
// This example displays the following output to the console:
//       Converted '12,000' to 12000.
//       Converted '12,000' to 12.
//       Unable to convert '12,000'.
//       Converted '12 425,00' to 12425.
//       Converted '12,425.00' to 12425.
//       '631,900' is out of range of the Int32 type.
//       Unable to convert '631,900'.
//       Converted '631,900' to 631900.

Plateforme Windows universelle
Disponible depuis 8
.NET Framework
Disponible depuis 1.1
Bibliothèque de classes portable
Pris en charge dans : plateformes .NET portables
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Windows Phone
Disponible depuis 8.1
Retour au début
Afficher: