Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

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

Convertit la chaîne d'un nombre dans un style et un format propre à une culture spécifiés en entier signé 32 bits é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 pouvant ê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 signé 32 bits équivalant au nombre spécifié dans s.

ExceptionCondition
ArgumentNullException

s a la valeur null.

ArgumentException

style n'est pas une valeur NumberStyles.

ou

style n'est pas une combinaison de valeurs AllowHexSpecifier et HexNumber.

FormatException

Le format de s n'est pas conforme à style.

OverflowException

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

ou

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

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

[ws][$][signe][chiffres,]chiffres[.chiffres_fractionnaires][e[signe]chiffres_exponentiels][ws]

Ou, si style inclut AllowHexSpecifier :

[ws]chiffreshex[ws]

Les éléments entre crochets ([ et ]) sont facultatifs. Le tableau suivant décrit les différents éléments.

Élément

Description

ws

Espace blanc facultatif. L'espace blanc peut apparaître au début de s si style inclut l'indicateur NumberStyles.AllowLeadingWhite et à la fin de s si style inclut l'indicateur NumberStyles.AllowTrailingWhite.

$

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

sign

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

chiffres

chiffres_fractionnaires

chiffres_exponentiels

Séquence de chiffres compris entre 0 et 9. Pour chiffres_fractionnaires, seul le chiffre 0 est valide.

,

Symbole du séparateur des milliers spécifique à la culture. Le séparateur des milliers de la culture spécifiée par provider peut apparaître dans s si style inclut l'indicateur NumberStyles.AllowThousands.

.

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

Seul le chiffre 0 peut apparaître comme un chiffre fractionnaire pour que l'opération d'analyse réussisse ; si les chiffres_fractionnaires incluent un autre chiffre, une OverflowException est levée.

e

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

chiffreshex

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 au style NumberStyles.None) est toujours analysée avec succès si elle est comprise dans la plage du type Int32. La plupart des membres NumberStyles restants contrôlent des éléments qui peuvent être présents, sans que ce soit obligatoire, dans cette chaîne d'entrée. Le tableau suivant montre de quelle manière des membres NumberStyles individuels 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

Chiffres décimaux uniquement.

NumberStyles.AllowDecimalPoint

Virgule décimale (. ) et éléments chiffres fractionnaires. Les chiffres_fractionnaires doivent toutefois être constitués d'un ou plusieurs chiffres 0, sinon une OverflowException est levée.

NumberStyles.AllowExponent

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

NumberStyles.AllowLeadingWhite

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

NumberStyles.AllowTrailingWhite

Élément ws à la fin de s.

NumberStyles.AllowLeadingSign

Un signe positif peut apparaître avant des chiffres.

NumberStyles.AllowTrailingSign

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

NumberStyles.AllowParentheses

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

NumberStyles.AllowThousands

Élément de séparateur des milliers (,).

NumberStyles.AllowCurrencySymbol

Élément HTML $.

Si l'indicateur NumberStyles.AllowHexSpecifier est utilisé, s doit être une valeur hexadécimale. Les seuls autres indicateurs qui peuvent être présents dans style sont NumberStyles.AllowLeadingWhite et NumberStyles.AllowTrailingWhite. (L'énumération NumberStyles a un style de numérotation composite, NumberStyles.HexNumber, qui inclut les deux indicateurs d'espace blanc.)

Le paramètre provider est une implémentation IFormatProvider, telle qu'un objet NumberFormatInfo ou CultureInfo. Le paramètre provider fournit les informations, propres à la culture, utilisées dans l'analyse. Si provider est null, l'objet NumberFormatInfo de la culture actuelle est utilisé.

L'exemple suivant utilise divers paramètres style et provider pour analyser les représentations sous forme de chaîne de valeurs Int32. Il illustre également quelques-unes des différentes interprétations de la même chaîne selon la culture dont les informations de mise en forme sont utilisées pour l'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.


.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Bibliothèque de classes portable

Pris en charge dans : Bibliothèque de classes portable

.NET pour les applications du Windows Store

Pris en charge dans : Windows 8

.NET pour les applications Windows Phone

Pris en charge dans : Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft