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

Decimal.Parse, méthode (String, IFormatProvider)

Convertit la représentation sous forme de chaîne d'un nombre en son équivalent Decimal à l'aide des informations de format propres à la culture spécifiée.

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

public static decimal Parse(
	string s,
	IFormatProvider provider
)

Paramètres

s
Type : System.String
Représentation sous forme de chaîne du nombre à convertir.
provider
Type : System.IFormatProvider
IFormatProvider qui fournit des informations d'analyse spécifiques à la culture concernant s.

Valeur de retour

Type : System.Decimal
Nombre Decimal équivalant au nombre figurant dans s, comme spécifié par provider.

ExceptionCondition
ArgumentNullException

s a la valeur null.

FormatException

La mise en forme de s est incorrecte

OverflowException

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

Cette surcharge de la méthode Parse(String, IFormatProvider) est couramment utilisée pour convertir du texte qui peut être mis en forme de diverses manières en une valeur Decimal. Par exemple, elle peut être utilisée pour convertir le texte entré par un utilisateur dans une zone de texte HTML en valeur numérique.

Le paramètre s contient un nombre ayant la forme suivante :

[ws][signe][chiffres,]chiffres[.chiffres fractionnaires][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.

sign

Signe facultatif.

chiffres

Séquence de chiffres compris entre 0 et 9.

,

Symbole du séparateur des milliers spécifique à la culture.

.

Symbole de séparateur décimal spécifique à la culture.

chiffres fractionnaires

Séquence de chiffres compris entre 0 et 9.

Le paramètre s est interprété à l'aide du style NumberStyles.Number. Cela signifie que l'espace blanc et les séparateurs de milliers sont autorisés, mais pas les symboles monétaires. Pour définir explicitement les éléments (tel que symboles monétaires, séparateurs de milliers et espace blanc) qui peuvent être présents dans s, utilisez la méthode Decimal.Parse(String, NumberStyles, IFormatProvider).

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, la culture actuelle du thread est utilisée.

Un objet Decimal a une précision de 29 chiffres. Si s représente un nombre de plus de 29 chiffres qui comporte une partie fractionnaire et figure entre MaxValue et MinValue, le nombre est arrondi à 29 chiffres, et non tronqué, en l'arrondissant au chiffre le plus proche.

Si un séparateur est rencontré dans le paramètre s au cours d'une opération d'analyse et que la devise ou le nombre décimal applicables et les séparateurs de groupes sont identiques, l'opération d'analyse suppose que le séparateur est un séparateur décimal plutôt qu'un séparateur de groupes. Pour plus d'informations sur les séparateurs, consultez CurrencyDecimalSeparator, NumberDecimalSeparator, CurrencyGroupSeparator et NumberGroupSeparator.

L'exemple suivant illustre le gestionnaire d'événements du clic de bouton d'un formulaire Web. Il utilise le tableau retourné par la propriété HttpRequest.UserLanguages pour déterminer les paramètres régionaux de l'utilisateur. Il instancie ensuite un objet CultureInfo qui correspond à ces paramètres régionaux. L'objet NumberFormatInfo qui appartient à cet objet CultureInfo est ensuite passé à la méthode Parse(String, IFormatProvider) afin de convertir l'entrée de l'utilisateur en une valeur Decimal.


protected void OkToDecimal_Click(object sender, EventArgs e)
{
   string locale;
   decimal number;
   CultureInfo culture;

   // Return if string is empty
   if (String.IsNullOrEmpty(this.inputNumber.Text))
      return;

   // Get locale of web request to determine possible format of number
   if (Request.UserLanguages.Length == 0)
      return;
   locale = Request.UserLanguages[0];
   if (String.IsNullOrEmpty(locale))
      return;

  // Instantiate CultureInfo object for the user's locale
   culture = new CultureInfo(locale);

   // Convert user input from a string to a number
   try
   {
      number = Decimal.Parse(this.inputNumber.Text, culture.NumberFormat);
   }
   catch (FormatException)
   {
      return;
   }
   catch (Exception)
   {
      return;
   }
   // Output number to label on web form
   this.outputNumber.Text = "Number is " + number.ToString();
}


.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