Decimal.Parse Decimal.Parse Decimal.Parse Decimal.Parse Method

Definizione

Converte la rappresentazione di stringa di un numero nell'oggetto Decimal equivalente.Converts the string representation of a number to its Decimal equivalent.

Overload

Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider)

Converte la rappresentazione di stringa di un numero nell'oggetto Decimal equivalente usando lo stile specificato e il formato specifico delle impostazioni cultura.Converts the string representation of a number to its Decimal equivalent using the specified style and culture-specific format.

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)
Parse(String, IFormatProvider) Parse(String, IFormatProvider) Parse(String, IFormatProvider) Parse(String, IFormatProvider)

Converte la rappresentazione di stringa di un numero nell'oggetto equivalente Decimal usando le informazioni di formato specifiche delle impostazioni cultura selezionate.Converts the string representation of a number to its Decimal equivalent using the specified culture-specific format information.

Parse(String, NumberStyles) Parse(String, NumberStyles) Parse(String, NumberStyles) Parse(String, NumberStyles)

Converte la rappresentazione di stringa di un numero in uno stile specificato nell'oggetto Decimal equivalente.Converts the string representation of a number in a specified style to its Decimal equivalent.

Parse(String) Parse(String) Parse(String) Parse(String)

Converte la rappresentazione di stringa di un numero nell'oggetto Decimal equivalente.Converts the string representation of a number to its Decimal equivalent.

Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider)

Converte la rappresentazione di stringa di un numero nell'oggetto Decimal equivalente usando lo stile specificato e il formato specifico delle impostazioni cultura.Converts the string representation of a number to its Decimal equivalent using the specified style and culture-specific format.

public:
 static System::Decimal Parse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider);
public static decimal Parse (string s, System.Globalization.NumberStyles style, IFormatProvider provider);
static member Parse : string * System.Globalization.NumberStyles * IFormatProvider -> decimal
Public Shared Function Parse (s As String, style As NumberStyles, provider As IFormatProvider) As Decimal

Parametri

s
String String String String

Rappresentazione di stringa del numero da convertire.The string representation of the number to convert.

style
NumberStyles NumberStyles NumberStyles NumberStyles

Combinazione bit per bit di valori NumberStyles che indica gli elementi di stile che possono essere presenti in s.A bitwise combination of NumberStyles values that indicates the style elements that can be present in s. Un valore tipico da specificare è Number.A typical value to specify is Number.

provider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

Oggetto IFormatProvider che fornisce informazioni specifiche delle impostazioni cultura relative al formato di s.An IFormatProvider object that supplies culture-specific information about the format of s.

Restituisce

Numero Decimal equivalente al numero contenuto in s specificato da style e provider.The Decimal number equivalent to the number contained in s as specified by style and provider.

Eccezioni

Il formato di s non è corretto.s is not in the correct format.

s rappresenta un numero minore di MinValue o maggiore di MaxValue.s represents a number less than MinValue or greater than MaxValue.

style non è un valore di NumberStyles.style is not a NumberStyles value.

-oppure--or- style è il valore di AllowHexSpecifier.style is the AllowHexSpecifier value.

Esempi

L'esempio seguente usa numerosi style e provider parametri per analizzare le rappresentazioni di stringa di Decimal valori.The following example uses a variety of style and provider parameters to parse the string representations of Decimal values.

string value;
decimal number;
NumberStyles style;
CultureInfo provider;

// Parse string using "." as the thousands separator 
// and " " as the decimal separator. 
value = "892 694,12";
style = NumberStyles.AllowDecimalPoint | NumberStyles.AllowThousands;
provider = new CultureInfo("fr-FR");

number = Decimal.Parse(value, style, provider);  
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays: 
//    892 694,12' converted to 892694.12.

try
{
   number = Decimal.Parse(value, style, CultureInfo.InvariantCulture);  
   Console.WriteLine("'{0}' converted to {1}.", value, number);
}   
catch (FormatException)
{
   Console.WriteLine("Unable to parse '{0}'.", value);
}
// Displays: 
//    Unable to parse '892 694,12'.  

// Parse string using "$" as the currency symbol for en-GB and  
// en-us cultures.
value = "$6,032.51";
style = NumberStyles.Number | NumberStyles.AllowCurrencySymbol;
provider = new CultureInfo("en-GB");

try
{
   number = Decimal.Parse(value, style, provider);  
   Console.WriteLine("'{0}' converted to {1}.", value, number);
}   
catch (FormatException)
{
   Console.WriteLine("Unable to parse '{0}'.", value);
}
// Displays: 
//    Unable to parse '$6,032.51'.

provider = new CultureInfo("en-US");
number = Decimal.Parse(value, style, provider);  
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays: 
//    '$6,032.51' converted to 6032.51.
Dim value As String
Dim number As Decimal
Dim style As NumberStyles
Dim provider As CultureInfo

' Parse string using "." as the thousands separator 
' and " " as the decimal separator. 
value = "892 694,12"
style = NumberStyles.AllowDecimalPoint Or NumberStyles.AllowThousands
provider = New CultureInfo("fr-FR")

number = Decimal.Parse(value, style, provider)  
Console.WriteLine("'{0}' converted to {1}.", value, number)
' Displays: 
'    892 694,12' converted to 892694.12.

Try
   number = Decimal.Parse(value, style, CultureInfo.InvariantCulture)  
   Console.WriteLine("'{0}' converted to {1}.", value, number)
Catch e As FormatException
   Console.WriteLine("Unable to parse '{0}'.", value)
End Try
' Displays: 
'    Unable to parse '892 694,12'.  

' Parse string using "$" as the currency symbol for en-GB and
' en-us cultures.
value = "$6,032.51"
style = NumberStyles.Number Or NumberStyles.AllowCurrencySymbol
provider = New CultureInfo("en-GB")

Try
   number = Decimal.Parse(value, style, provider)  
   Console.WriteLine("'{0}' converted to {1}.", value, number)
Catch e As FormatException
   Console.WriteLine("Unable to parse '{0}'.", value)
End Try
' Displays: 
'    Unable to parse '$6,032.51'.

provider = New CultureInfo("en-US")
number = Decimal.Parse(value, style, provider)  
Console.WriteLine("'{0}' converted to {1}.", value, number)
' Displays: 
'    '$6,032.51' converted to 6032.51.

Commenti

Il style parametro definisce il formato consentito del s parametro per l'operazione di analisi abbia esito positivo.The style parameter defines the allowable format of the s parameter for the parse operation to succeed. Deve essere una combinazione di flag di bit dal NumberStyles enumerazione.It must be a combination of bit flags from the NumberStyles enumeration. Nell'esempio NumberStyles membri non sono supportati:The following NumberStyles members are not supported:

A seconda del valore di style, il s parametro può includere gli elementi seguenti:Depending on the value of style, the s parameter may include the following elements:

[ws][$][sign][digits,]digits[.fractional-digits][e[sign]digits][ws][ws][$][sign][digits,]digits[.fractional-digits][e[sign]digits][ws]

Gli elementi tra parentesi quadre ([e]) sono facoltativi.Elements in square brackets ([ and ]) are optional. La tabella seguente descrive i singoli elementi.The following table describes each element.

ElementoElement DescriptionDescription
$ Un simbolo di valuta delle impostazioni cultura specifiche.A culture-specific currency symbol. La posizione nella stringa è definita dal CurrencyNegativePattern e CurrencyPositivePattern delle proprietà del NumberFormatInfo oggetto restituito dal GetFormat metodo del provider parametro.Its position in the string is defined by the CurrencyNegativePattern and CurrencyPositivePattern properties of the NumberFormatInfo object returned by the GetFormat method of the provider parameter. Il simbolo di valuta può essere visualizzati nella s se style include il NumberStyles.AllowCurrencySymbol flag.The currency symbol can appear in s if style includes the NumberStyles.AllowCurrencySymbol flag.
wsws Spazio vuoto facoltativo.Optional white space. Gli spazi vuoti possono essere visualizzati all'inizio di s se style include le NumberStyles.AllowLeadingWhite flag che possono essere visualizzati alla fine del s se style include il NumberStyles.AllowTrailingWhite flag.White space can appear at the beginning of s if style includes the NumberStyles.AllowLeadingWhite flag, and it can appear at the end of s if style includes the NumberStyles.AllowTrailingWhite flag.
signsign Un segno facoltativo.An optional sign. Il segno può essere visualizzati all'inizio del s se style include il NumberStyles.AllowLeadingSign flag che possono essere visualizzati in fondo s se style include il NumberStyles.AllowTrailingSign flag.The sign can appear at the beginning of s if style includes the NumberStyles.AllowLeadingSign flag, and it can appear at the end of s if style includes the NumberStyles.AllowTrailingSign flag. Le parentesi possono essere utilizzate s per indicare un valore negativo se style include il NumberStyles.AllowParentheses flag.Parentheses can be used in s to indicate a negative value if style includes the NumberStyles.AllowParentheses flag.
cifredigits Una sequenza di cifre comprese tra 0 e 9.A sequence of digits ranging from 0 to 9.
,, Impostazioni cultura specifiche migliaia simbolo del separatore.A culture-specific thousands separator symbol. Migliaia separatore delle impostazioni cultura definite da provider possono essere visualizzati in s se style include il NumberStyles.AllowThousands flag.The thousands separator of the culture defined by provider can appear in s if style includes the NumberStyles.AllowThousands flag.
.. Simbolo di separatore decimale delle impostazioni cultura specifiche.A culture-specific decimal point symbol. Il simbolo di separatore decimale delle impostazioni cultura definite da provider possono essere visualizzati in s se style include il NumberStyles.AllowDecimalPoint flag.The decimal point symbol of the culture defined by provider can appear in s if style includes the NumberStyles.AllowDecimalPoint flag.
fractional-digitsfractional-digits Una sequenza di cifre comprese tra 0 e 9.A sequence of digits ranging from 0 to 9. Cifre frazionarie visualizzabili nella s solo se style include il NumberStyles.AllowDecimalPoint flag.Fractional digits can appear in s only if style includes the NumberStyles.AllowDecimalPoint flag.
ee Il carattere 'e' o 'E', che indica che il valore è rappresentato nella notazione esponenziale.The 'e' or 'E' character, which indicates that the value is represented in exponential notation. Il s parametro può rappresentare un numero in notazione esponenziale se style include il NumberStyles.AllowExponent flag.The s parameter can represent a number in exponential notation if style includes the NumberStyles.AllowExponent flag.

Nota

Eventuali caratteri di terminazione null (u+0000) nella s vengono ignorati dall'operazione di analisi, indipendentemente dal valore della style argomento.Any terminating NUL (U+0000) characters in s are ignored by the parsing operation, regardless of the value of the style argument.

Una stringa che contiene solo cifre (che corrisponde alla None stile) sempre viene analizzata correttamente.A string with digits only (which corresponds to the None style) always parses successfully. I rimanenti NumberStyles membri controllano gli elementi che possono essere ma non devono essere presenti nella stringa di input.The remaining NumberStyles members control elements that may be but are not required to be present in the input string. Nella tabella seguente indica come singoli NumberStyles membri interessano gli elementi che possono essere presenti in s.The following table indicates how individual NumberStyles members affect the elements that may be present in s.

Valore NumberStylesNumberStyles value Elementi consentiti in s oltre alle cifreElements permitted in s in addition to digits
None Il cifre solo l'elemento.The digits element only.
AllowDecimalPoint L'elemento language .The . e cifre frazionarie elementi.and fractional-digits elements.
AllowExponent Il s parametro anche possibile usare la notazione esponenziale.The s parameter can also use exponential notation. Questo flag supporta i valori nel formato cifreelettronicacifre; altri flag necessari per analizzare correttamente le stringhe con elementi quali segni positivi o negativi e simboli del separatore decimale.This flag supports values in the form digitsEdigits; additional flags are needed to successfully parse strings with elements such as positive or negative signs and decimal point symbols.
AllowLeadingWhite Il ws elemento all'inizio del s.The ws element at the beginning of s.
AllowTrailingWhite Il ws elemento alla fine di s.The ws element at the end of s.
AllowLeadingSign Il sign elemento all'inizio del s.The sign element at the beginning of s.
AllowTrailingSign Il sign elemento alla fine di s.The sign element at the end of s.
AllowParentheses Il sign elemento sotto forma di parentesi che racchiudono il valore numerico.The sign element in the form of parentheses enclosing the numeric value.
AllowThousands Il , elemento.The , element.
AllowCurrencySymbol Il $ elemento.The $ element.
Currency Tutti.All. Il s parametro non può rappresentare un numero esadecimale o un numero in notazione esponenziale.The s parameter cannot represent a hexadecimal number or a number in exponential notation.
Float Il ws all'inizio o alla fine dell'elemento s, sign all'inizio del se il .The ws element at the beginning or end of s, sign at the beginning of s, and the . simbolo.symbol. Il s parametro anche possibile usare la notazione esponenziale.The s parameter can also use exponential notation.
Number Il ws, sign, ,, e .The ws, sign, ,, and . elementi.elements.
Any Tutti gli stili, ad eccezione di s non può rappresentare un numero esadecimale.All styles, except s cannot represent a hexadecimal number.

Il provider parametro è un IFormatProvider implementazione, ad esempio un NumberFormatInfo o CultureInfo oggetto.The provider parameter is an IFormatProvider implementation, such as a NumberFormatInfo or CultureInfo object. Il provider parametro fornisce informazioni specifiche delle impostazioni cultura utilizzate durante l'analisi.The provider parameter supplies culture-specific information used in parsing. Se provider è null, verranno usate le impostazioni cultura correnti del thread.If provider is null, the thread current culture is used.

Oggetto Decimal oggetto ha 29 cifre di precisione.A Decimal object has 29 digits of precision. Se s rappresenta un numero ha più di 29 cifre, ma con una parte frazionaria ed è compreso tra MaxValue e MinValue, viene arrotondato al numero, non troncato, a 29 cifre al valore più vicino.If s represents a number that has more than 29 digits, but has a fractional part and is within the range of MaxValue and MinValue, the number is rounded, not truncated, to 29 digits using rounding to nearest.

Se viene rilevato un separatore nel s parametro durante un'operazione di analisi e la valuta applicabile o il numero decimale e i separatori di gruppi sono uguali, l'operazione di analisi si presuppone che il separatore è un separatore decimale, anziché un gruppo separatore.If a separator is encountered in the s parameter during a parse operation, and the applicable currency or number decimal and group separators are the same, the parse operation assumes that the separator is a decimal separator rather than a group separator. Per altre informazioni sui separatori, vedere CurrencyDecimalSeparator, NumberDecimalSeparator, CurrencyGroupSeparator, e NumberGroupSeparator.For more information about separators, see CurrencyDecimalSeparator, NumberDecimalSeparator, CurrencyGroupSeparator, and NumberGroupSeparator.

Vedi anche

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)

public static decimal Parse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Number, IFormatProvider provider = null);
static member Parse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider -> decimal
Public Shared Function Parse (s As ReadOnlySpan(Of Char), Optional style As NumberStyles = System.Globalization.NumberStyles.Number, Optional provider As IFormatProvider = null) As Decimal

Parametri

Restituisce

Parse(String, IFormatProvider) Parse(String, IFormatProvider) Parse(String, IFormatProvider) Parse(String, IFormatProvider)

Converte la rappresentazione di stringa di un numero nell'oggetto equivalente Decimal usando le informazioni di formato specifiche delle impostazioni cultura selezionate.Converts the string representation of a number to its Decimal equivalent using the specified culture-specific format information.

public:
 static System::Decimal Parse(System::String ^ s, IFormatProvider ^ provider);
public static decimal Parse (string s, IFormatProvider provider);
static member Parse : string * IFormatProvider -> decimal
Public Shared Function Parse (s As String, provider As IFormatProvider) As Decimal

Parametri

s
String String String String

Rappresentazione di stringa del numero da convertire.The string representation of the number to convert.

provider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

Oggetto IFormatProvider che fornisce informazioni di analisi specifiche delle impostazioni cultura relative a s.An IFormatProvider that supplies culture-specific parsing information about s.

Restituisce

Il numero Decimal equivalente al numero contenuto in s come specificato da provider.The Decimal number equivalent to the number contained in s as specified by provider.

Eccezioni

s non è nel formato corretto.s is not of the correct format.

s rappresenta un numero minore di MinValue o maggiore di MaxValue.s represents a number less than MinValue or greater than MaxValue.

Esempi

L'esempio seguente è il gestore di eventi di un form Web click del pulsante.The following example is the button click event handler of a Web form. Usa la matrice restituita dal HttpRequest.UserLanguages proprietà per determinare le impostazioni locali dell'utente.It uses the array returned by the HttpRequest.UserLanguages property to determine the user's locale. Crea quindi un CultureInfo oggetto che corrisponde a tali impostazioni locali.It then instantiates a CultureInfo object that corresponds to that locale. Il NumberFormatInfo appartenente all'oggetto CultureInfo oggetto viene quindi passato al Parse(String, IFormatProvider) input del metodo per convertire l'utente a un Decimal valore.The NumberFormatInfo object that belongs to that CultureInfo object is then passed to the Parse(String, IFormatProvider) method to convert the user's input to a Decimal value.

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();
}
Protected Sub OkToDecimal_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles OkToDecimal.Click
   Dim locale As String
   Dim culture As CultureInfo
   Dim number As Decimal

   ' Return if string is empty
   If String.IsNullOrEmpty(Me.inputNumber.Text) Then Exit Sub

   ' Get locale of web request to determine possible format of number
   If Request.UserLanguages.Length = 0 Then Exit Sub
   locale = Request.UserLanguages(0)
   If String.IsNullOrEmpty(locale) Then Exit Sub

   ' 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(Me.inputNumber.Text, culture.NumberFormat)
   Catch ex As FormatException
      Exit Sub
   Catch ex As Exception
      Exit Sub
   End Try

   ' Output number to label on web form
   Me.outputNumber.Text = "Number is " & number.ToString()
End Sub

Commenti

Questo overload del metodo di Parse(String, IFormatProvider) metodo viene comunemente utilizzato per convertire il testo che può essere formattato in svariati modi per un Decimal valore.This overload of the Parse(String, IFormatProvider) method is commonly used to convert text that can be formatted in a variety of ways to a Decimal value. Ad esempio, può essere utilizzato per convertire il testo immesso dall'utente in una casella di testo HTML in un valore numerico.For example, it can be used to convert the text entered by a user into an HTML text box to a numeric value.

Il s parametro contiene un numero nel formato:The s parameter contains a number of the form:

[ws] [accesso] [numero di cifre] cifre [cifre frazionarie] [ws][ws][sign][digits,]digits[.fractional-digits][ws]

Gli elementi tra parentesi quadre ([e]) sono facoltativi.Elements in square brackets ([ and ]) are optional. La tabella seguente descrive i singoli elementi.The following table describes each element.

ElementoElement DescriptionDescription
wsws Spazio vuoto facoltativo.Optional white space.
signsign Un segno facoltativo.An optional sign.
cifredigits Una sequenza di cifre comprese tra 0 e 9.A sequence of digits ranging from 0 to 9.
,, Impostazioni cultura specifiche migliaia simbolo del separatore.A culture-specific thousands separator symbol.
.. Simbolo di separatore decimale delle impostazioni cultura specifiche.A culture-specific decimal point symbol.
fractional-digitsfractional-digits Una sequenza di cifre comprese tra 0 e 9.A sequence of digits ranging from 0 to 9.

Il s parametro viene interpretato mediante il NumberStyles.Number stile.The s parameter is interpreted using the NumberStyles.Number style. Ciò significa che lo spazio vuoto e migliaia sono consentiti separatori ma non sono i simboli di valuta.This means that white space and thousands separators are allowed but currency symbols are not. Per definire in modo esplicito gli elementi (ad esempio i simboli di valuta, migliaia, gli spazi vuoti e separatori) che possono essere presenti in s, usare il Decimal.Parse(String, NumberStyles, IFormatProvider) (metodo).To explicitly define the elements (such as currency symbols, thousands separators, and white space) that can be present in s, use the Decimal.Parse(String, NumberStyles, IFormatProvider) method.

Il provider parametro è un IFormatProvider implementazione, ad esempio un NumberFormatInfo o CultureInfo oggetto.The provider parameter is an IFormatProvider implementation, such as a NumberFormatInfo or CultureInfo object. Il provider parametro fornisce informazioni specifiche delle impostazioni cultura utilizzate durante l'analisi.The provider parameter supplies culture-specific information used in parsing. Se provider è null, verranno usate le impostazioni cultura correnti del thread.If provider is null, the thread current culture is used.

Oggetto Decimal oggetto ha 29 cifre di precisione.A Decimal object has 29 digits of precision. Se s rappresenta un numero ha più di 29 cifre, ma con una parte frazionaria ed è compreso tra MaxValue e MinValue, viene arrotondato al numero, non troncato, a 29 cifre al valore più vicino.If s represents a number that has more than 29 digits, but has a fractional part and is within the range of MaxValue and MinValue, the number is rounded, not truncated, to 29 digits using rounding to nearest.

Se viene rilevato un separatore nel s parametro durante un'operazione di analisi e la valuta applicabile o il numero decimale e i separatori di gruppi sono uguali, l'operazione di analisi si presuppone che il separatore è un separatore decimale, anziché un gruppo separatore.If a separator is encountered in the s parameter during a parse operation, and the applicable currency or number decimal and group separators are the same, the parse operation assumes that the separator is a decimal separator rather than a group separator. Per altre informazioni sui separatori, vedere CurrencyDecimalSeparator, NumberDecimalSeparator, CurrencyGroupSeparator, e NumberGroupSeparator.For more information about separators, see CurrencyDecimalSeparator, NumberDecimalSeparator, CurrencyGroupSeparator, and NumberGroupSeparator.

Vedi anche

Parse(String, NumberStyles) Parse(String, NumberStyles) Parse(String, NumberStyles) Parse(String, NumberStyles)

Converte la rappresentazione di stringa di un numero in uno stile specificato nell'oggetto Decimal equivalente.Converts the string representation of a number in a specified style to its Decimal equivalent.

public:
 static System::Decimal Parse(System::String ^ s, System::Globalization::NumberStyles style);
public static decimal Parse (string s, System.Globalization.NumberStyles style);
static member Parse : string * System.Globalization.NumberStyles -> decimal
Public Shared Function Parse (s As String, style As NumberStyles) As Decimal

Parametri

s
String String String String

Rappresentazione di stringa del numero da convertire.The string representation of the number to convert.

style
NumberStyles NumberStyles NumberStyles NumberStyles

Combinazione bit per bit di valori NumberStyles che indica gli elementi di stile che possono essere presenti in s.A bitwise combination of NumberStyles values that indicates the style elements that can be present in s. Un valore tipico da specificare è Number.A typical value to specify is Number.

Restituisce

Il numero Decimal equivalente al numero contenuto in s come specificato da style.The Decimal number equivalent to the number contained in s as specified by style.

Eccezioni

style non è un valore di NumberStyles.style is not a NumberStyles value.

-oppure--or- style è il valore di AllowHexSpecifier.style is the AllowHexSpecifier value.

Il formato di s non è corretto.s is not in the correct format.

s rappresenta un numero minore di MinValue o maggiore di MaxValue.s represents a number less than MinValue or greater than MaxValue

Esempi

Il codice seguente viene illustrato come utilizzare il Parse(String, NumberStyles) per analizzare le rappresentazioni di stringa del metodo Decimal i valori usando le impostazioni cultura en-US.The following code example uses the Parse(String, NumberStyles) method to parse the string representations of Decimal values using the en-US culture.

string value;
decimal number;
NumberStyles style;

// Parse string with a floating point value using NumberStyles.None. 
value = "8694.12";
style = NumberStyles.None;
try
{
   number = Decimal.Parse(value, style);  
   Console.WriteLine("'{0}' converted to {1}.", value, number);
}
catch (FormatException)
{
   Console.WriteLine("Unable to parse '{0}'.", value);
}
// Displays:
//    Unable to parse '8694.12'.

// Parse string with a floating point value and allow decimal point. 
style = NumberStyles.AllowDecimalPoint;
number = Decimal.Parse(value, style);  
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays:
//    '8694.12' converted to 8694.12.

// Parse string with negative value in parentheses
value = "(1,789.34)";
style = NumberStyles.AllowDecimalPoint | NumberStyles.AllowThousands | 
        NumberStyles.AllowParentheses; 
number = Decimal.Parse(value, style);  
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays:
//    '(1,789.34)' converted to -1789.34.

// Parse string using Number style
value = " -17,623.49 ";
style = NumberStyles.Number;
number = Decimal.Parse(value, style);  
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays:
//    ' -17,623.49 ' converted to -17623.49.
Dim value As String
Dim number As Decimal
Dim style As NumberStyles

' Parse string with a floating point value using NumberStyles.None. 
value = "8694.12"
style = NumberStyles.None
Try
   number = Decimal.Parse(value, style)  
   Console.WriteLine("'{0}' converted to {1}.", value, number)
Catch e As FormatException
   Console.WriteLine("Unable to parse '{0}'.", value)
End Try
' Displays:
'    Unable to parse '8694.12'.

' Parse string with a floating point value and allow decimal point. 
style = NumberStyles.AllowDecimalPoint
number = Decimal.Parse(value, style)  
Console.WriteLine("'{0}' converted to {1}.", value, number)
' Displays:
'    '8694.12' converted to 8694.12.

' Parse string with negative value in parentheses
value = "(1,789.34)"
style = NumberStyles.AllowDecimalPoint Or NumberStyles.AllowThousands Or _
        NumberStyles.AllowParentheses 
number = Decimal.Parse(value, style)  
Console.WriteLine("'{0}' converted to {1}.", value, number)
' Displays:
'    '(1,789.34)' converted to -1789.34.

' Parse string using Number style
value = " -17,623.49 "
style = NumberStyles.Number
number = Decimal.Parse(value, style)  
Console.WriteLine("'{0}' converted to {1}.", value, number)
' Displays:
'    ' -17,623.49 ' converted to -17623.49.

Commenti

Il style parametro definisce gli elementi di stile (ad esempio migliaia separatori, gli spazi vuoti e i simboli di valuta) che sono consentiti nel s parametro per l'operazione di analisi abbia esito positivo.The style parameter defines the style elements (such as thousands separators, white space, and currency symbols) that are allowed in the s parameter for the parse operation to succeed. Deve essere una combinazione di flag di bit dal NumberStyles enumerazione.It must be a combination of bit flags from the NumberStyles enumeration. Nell'esempio NumberStyles membri non sono supportati:The following NumberStyles members are not supported:

A seconda del valore di style, il s parametro può includere gli elementi seguenti:Depending on the value of style, the s parameter may include the following elements:

[ws][$][sign][digits,]digits[.fractional-digits][e[sign]digits][ws][ws][$][sign][digits,]digits[.fractional-digits][e[sign]digits][ws]

Gli elementi tra parentesi quadre ([e]) sono facoltativi.Elements in square brackets ([ and ]) are optional. La tabella seguente descrive i singoli elementi.The following table describes each element.

ElementoElement DescriptionDescription
wsws Spazio vuoto facoltativo.Optional white space. Gli spazi vuoti possono essere visualizzati all'inizio di s se style include le NumberStyles.AllowLeadingWhite flag che possono essere visualizzati alla fine del s se style include il NumberStyles.AllowTrailingWhite flag.White space can appear at the beginning of s if style includes the NumberStyles.AllowLeadingWhite flag, and it can appear at the end of s if style includes the NumberStyles.AllowTrailingWhite flag.
$ Un simbolo di valuta delle impostazioni cultura specifiche.A culture-specific currency symbol. La posizione nella stringa è definita per il NumberFormatInfo.CurrencyNegativePattern e NumberFormatInfo.CurrencyPositivePattern le proprietà delle impostazioni cultura correnti.Its position in the string is defined by the NumberFormatInfo.CurrencyNegativePattern and NumberFormatInfo.CurrencyPositivePattern properties of the current culture. Simbolo di valuta di cultura correnti può essere visualizzati nella s se style include il NumberStyles.AllowCurrencySymbol flag.The current culture's currency symbol can appear in s if style includes the NumberStyles.AllowCurrencySymbol flag.
signsign Un segno facoltativo.An optional sign. Il segno può essere visualizzati all'inizio del s se style include il NumberStyles.AllowLeadingSign flag che possono essere visualizzati in fondo s se style include il NumberStyles.AllowTrailingSign flag.The sign can appear at the beginning of s if style includes the NumberStyles.AllowLeadingSign flag, and it can appear at the end of s if style includes the NumberStyles.AllowTrailingSign flag. Le parentesi possono essere utilizzate s per indicare un valore negativo se style include il NumberStyles.AllowParentheses flag.Parentheses can be used in s to indicate a negative value if style includes the NumberStyles.AllowParentheses flag.
cifredigits Una sequenza di cifre comprese tra 0 e 9.A sequence of digits ranging from 0 to 9.
,, Impostazioni cultura specifiche migliaia simbolo del separatore.A culture-specific thousands separator symbol. Migliaia di cultura correnti separatore visualizzabili nella s se style include il NumberStyles.AllowThousands flag.The current culture's thousands separator can appear in s if style includes the NumberStyles.AllowThousands flag.
.. Simbolo di separatore decimale delle impostazioni cultura specifiche.A culture-specific decimal point symbol. Simbolo di separatore decimale di cultura correnti può essere visualizzati nella s se style include il NumberStyles.AllowDecimalPoint flag.The current culture's decimal point symbol can appear in s if style includes the NumberStyles.AllowDecimalPoint flag.
fractional-digitsfractional-digits Una sequenza di cifre comprese tra 0 e 9.A sequence of digits ranging from 0 to 9. Cifre frazionarie visualizzabili nella s solo se style include il NumberStyles.AllowDecimalPoint flag.Fractional digits can appear in s only if style includes the NumberStyles.AllowDecimalPoint flag.
ee Il carattere 'e' o 'E', che indica che il valore è rappresentato nella notazione esponenziale.The 'e' or 'E' character, which indicates that the value is represented in exponential notation. Il s parametro può rappresentare un numero in notazione esponenziale se style include il NumberStyles.AllowExponent flag.The s parameter can represent a number in exponential notation if style includes the NumberStyles.AllowExponent flag.

Nota

Eventuali caratteri di terminazione null (u+0000) nella s vengono ignorati dall'operazione di analisi, indipendentemente dal valore della style argomento.Any terminating NUL (U+0000) characters in s are ignored by the parsing operation, regardless of the value of the style argument.

Una stringa che contiene solo cifre (che corrisponde alla None stile) sempre viene analizzata correttamente.A string with digits only (which corresponds to the None style) always parses successfully. I rimanenti NumberStyles membri controllano gli elementi che possono essere ma non devono essere presenti nella stringa di input.The remaining NumberStyles members control elements that may be but are not required to be present in the input string. Nella tabella seguente indica come singoli NumberStyles membri interessano gli elementi che possono essere presenti in s.The following table indicates how individual NumberStyles members affect the elements that may be present in s.

Valore NumberStylesNumberStyles value Elementi consentiti in s oltre alle cifreElements permitted in s in addition to digits
None Il cifre solo l'elemento.The digits element only.
AllowDecimalPoint L'elemento language .The . e cifre frazionarie elementi.and fractional-digits elements.
AllowExponent Il s parametro anche possibile usare la notazione esponenziale.The s parameter can also use exponential notation. Questo flag supporta i valori nel formato cifreelettronicacifre; altri flag necessari per analizzare correttamente le stringhe con elementi quali segni positivi o negativi e simboli del separatore decimale.This flag supports values in the form digitsEdigits; additional flags are needed to successfully parse strings with elements such as positive or negative signs and decimal point symbols.
AllowLeadingWhite Il ws elemento all'inizio del s.The ws element at the beginning of s.
AllowTrailingWhite Il ws elemento alla fine di s.The ws element at the end of s.
AllowLeadingSign Il sign elemento all'inizio del s.The sign element at the beginning of s.
AllowTrailingSign Il sign elemento alla fine di s.The sign element at the end of s.
AllowParentheses Il sign elemento sotto forma di parentesi che racchiudono il valore numerico.The sign element in the form of parentheses enclosing the numeric value.
AllowThousands Il , elemento.The , element.
AllowCurrencySymbol Il $ elemento.The $ element.
Currency Tutti.All. Il s parametro non può rappresentare un numero esadecimale o un numero in notazione esponenziale.The s parameter cannot represent a hexadecimal number or a number in exponential notation.
Float Il ws elemento all'inizio o alla fine della s, sign all'inizio del se il . simbolo.The ws element at the beginning or end of s, sign at the beginning of s, and the . symbol. Il s parametro anche possibile usare la notazione esponenziale.The s parameter can also use exponential notation.
Number Il ws, sign, , e . elementi.The ws, sign, , and . elements.
Any Tutti gli stili, ad eccezione di s non può rappresentare un numero esadecimale.All styles, except s cannot represent a hexadecimal number.

Il s parametro viene analizzato utilizzando le informazioni di formattazione in un NumberFormatInfo oggetto inizializzato per impostazioni cultura correnti del sistema.The s parameter is parsed using the formatting information in a NumberFormatInfo object initialized for the current system culture. Per ulteriori informazioni, vedere CurrentInfo.For more information, see CurrentInfo.

Oggetto Decimal ha 29 cifre di precisione.A Decimal has 29 digits of precision. Se s rappresenta un numero ha più di 29 cifre, ma con una parte frazionaria ed è compreso tra MaxValue e MinValue, viene arrotondato al numero, non troncato, a 29 cifre al valore più vicino.If s represents a number that has more than 29 digits, but has a fractional part and is within the range of MaxValue and MinValue, the number is rounded, not truncated, to 29 digits using rounding to nearest.

Se viene rilevato un separatore nel s parametro durante un'operazione di analisi styles include le NumberStyles.AllowThousands e NumberStyles.AllowDecimalPoint valori e la valuta applicabile o numero decimale e i separatori di gruppi sono uguali, l'operazione di analisi si presuppone che il separatore è un separatore decimale, anziché un separatore di gruppi.If a separator is encountered in the s parameter during a parse operation, styles includes the NumberStyles.AllowThousands and NumberStyles.AllowDecimalPoint values, and the applicable currency or number decimal and group separators are the same, the parse operation assumes that the separator is a decimal separator rather than a group separator. Per altre informazioni sui separatori, vedere CurrencyDecimalSeparator, NumberDecimalSeparator, CurrencyGroupSeparator, e NumberGroupSeparator.For more information about separators, see CurrencyDecimalSeparator, NumberDecimalSeparator, CurrencyGroupSeparator, and NumberGroupSeparator.

Vedi anche

Parse(String) Parse(String) Parse(String) Parse(String)

Converte la rappresentazione di stringa di un numero nell'oggetto Decimal equivalente.Converts the string representation of a number to its Decimal equivalent.

public:
 static System::Decimal Parse(System::String ^ s);
public static decimal Parse (string s);
static member Parse : string -> decimal
Public Shared Function Parse (s As String) As Decimal

Parametri

s
String String String String

Rappresentazione di stringa del numero da convertire.The string representation of the number to convert.

Restituisce

Equivalente del numero contenuto in s.The equivalent to the number contained in s.

Eccezioni

Il formato di s non è corretto.s is not in the correct format.

s rappresenta un numero minore di MinValue o maggiore di MaxValue.s represents a number less than MinValue or greater than MaxValue.

Esempi

Il codice seguente viene illustrato come utilizzare il Parse(String) metodo per analizzare le rappresentazioni di stringa di Decimal valori.The following code example uses the Parse(String) method to parse string representations of Decimal values.

string value;
decimal number;
// Parse an integer with thousands separators. 
value = "16,523,421";
number = Decimal.Parse(value);
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays: 
//    16,523,421' converted to 16523421.

// Parse a floating point value with thousands separators
value = "25,162.1378";
number = Decimal.Parse(value);
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays: 
//    25,162.1378' converted to 25162.1378.

// Parse a floating point number with US currency symbol.
value = "$16,321,421.75";
try
{
   number = Decimal.Parse(value);
   Console.WriteLine("'{0}' converted to {1}.", value, number);
}   
catch (FormatException)
{
   Console.WriteLine("Unable to parse '{0}'.", value);
}
// Displays:
//    Unable to parse '$16,321,421.75'.   

// Parse a number in exponential notation
value = "1.62345e-02";
try
{
   number = Decimal.Parse(value);
   Console.WriteLine("'{0}' converted to {1}.", value, number);
}   
catch (FormatException)
{
   Console.WriteLine("Unable to parse '{0}'.", value);
}
// Displays: 
//    Unable to parse '1.62345e-02'. 
Dim value As String
Dim number As Decimal

' Parse an integer with thousands separators. 
value = "16,523,421"
number = Decimal.Parse(value)
Console.WriteLine("'{0}' converted to {1}.", value, number)
' Displays: 
'    16,523,421' converted to 16523421.

' Parse a floating point value with thousands separators
value = "25,162.1378"
number = Decimal.Parse(value)
Console.WriteLine("'{0}' converted to {1}.", value, number)
' Displays:
'    25,162.1378' converted to 25162.1378.

' Parse a floating point number with US currency symbol.
value = "$16,321,421.75"
Try
   number = Decimal.Parse(value)
   Console.WriteLine("'{0}' converted to {1}.", value, number)
Catch e As FormatException
   Console.WriteLine("Unable to parse '{0}'.", value)
End Try
' Displays:
'    Unable to parse '$16,321,421.75'.  

' Parse a number in exponential notation
value = "1.62345e-02"
Try
   number = Decimal.Parse(value)
   Console.WriteLine("'{0}' converted to {1}.", value, number)
Catch e As FormatException
   Console.WriteLine("Unable to parse '{0}'.", value)
End Try
' Displays: 
'    Unable to parse '1.62345e-02'. 

Commenti

Parametro s contiene un numero nel formato:Parameter s contains a number of the form:

[ws] [accesso] [numero di cifre] cifre [cifre frazionarie] [ws][ws][sign][digits,]digits[.fractional-digits][ws]

Gli elementi tra parentesi quadre ([e]) sono facoltativi.Elements in square brackets ([ and ]) are optional. La tabella seguente descrive i singoli elementi.The following table describes each element.

ElementoElement DescriptionDescription
wsws Spazio vuoto facoltativo.Optional white space.
signsign Un segno facoltativo.An optional sign.
cifredigits Una sequenza di cifre comprese tra 0 e 9.A sequence of digits ranging from 0 to 9.
,, Impostazioni cultura specifiche migliaia simbolo del separatore.A culture-specific thousands separator symbol.
.. Simbolo di separatore decimale delle impostazioni cultura specifiche.A culture-specific decimal point symbol.
fractional-digitsfractional-digits Una sequenza di cifre comprese tra 0 e 9.A sequence of digits ranging from 0 to 9.

Parametro s viene interpretato mediante il NumberStyles.Number stile.Parameter s is interpreted using the NumberStyles.Number style. Ciò significa che lo spazio vuoto e migliaia sono consentiti separatori ma non sono i simboli di valuta.This means that white space and thousands separators are allowed but currency symbols are not. Definire in modo esplicito gli elementi (ad esempio i simboli di valuta, migliaia separatori e gli spazi vuoti) che possono essere presenti in s, usare il Decimal.Parse(String, NumberStyles) o il Decimal.Parse(String, NumberStyles, IFormatProvider) (metodo).To explicitly define the elements (such as currency symbols, thousands separators, and white space) that can be present in s, use either the Decimal.Parse(String, NumberStyles) or the Decimal.Parse(String, NumberStyles, IFormatProvider) method.

Parametro s analizzato usando le informazioni di formattazione in un NumberFormatInfo inizializzato per impostazioni cultura correnti del sistema.Parameter s is parsed using the formatting information in a NumberFormatInfo initialized for the current system culture. Per ulteriori informazioni, vedere CurrentInfo.For more information, see CurrentInfo. Per analizzare una stringa utilizzando le informazioni di formattazione di altre impostazioni cultura, usare il Decimal.Parse(String, IFormatProvider) o Decimal.Parse(String, NumberStyles, IFormatProvider) (metodo).To parse a string using the formatting information of some other culture, use the Decimal.Parse(String, IFormatProvider) or Decimal.Parse(String, NumberStyles, IFormatProvider) method.

Se necessario, il valore di s viene arrotondato al valore più vicino.If necessary, the value of s is rounded using rounding to nearest.

Oggetto Decimal ha 29 cifre di precisione.A Decimal has 29 digits of precision. Se s rappresenta un numero ha più di 29 cifre, ma con una parte frazionaria ed è compreso tra MaxValue e MinValue, viene arrotondato al numero, non troncato, a 29 cifre al valore più vicino.If s represents a number that has more than 29 digits, but has a fractional part and is within the range of MaxValue and MinValue, the number is rounded, not truncated, to 29 digits using rounding to nearest.

Se durante un'operazione di analisi viene rilevato un separatore nel s parametro e la valuta applicabile o numero decimale e i separatori di gruppi sono uguali, l'operazione di analisi si presuppone che il separatore è un separatore decimale, anziché un gruppo separatore.If during a parse operation a separator is encountered in the s parameter, and the applicable currency or number decimal and group separators are the same, the parse operation assumes that the separator is a decimal separator rather than a group separator. Per altre informazioni sui separatori, vedere CurrencyDecimalSeparator, NumberDecimalSeparator, CurrencyGroupSeparator, e NumberGroupSeparator.For more information about separators, see CurrencyDecimalSeparator, NumberDecimalSeparator, CurrencyGroupSeparator, and NumberGroupSeparator.

Vedi anche

Si applica a