Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo UInt64.Parse (String, NumberStyles)

 

Data di pubblicazione: ottobre 2016

clsCompliantAlternativeM:System.Decimal.Parse(System.String)

Converte la rappresentazione di stringa di un numero in uno stile specificato nel suo equivalente intero senza segno a 64 bit.

Questa API non è conforme a CLS.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)

[CLSCompliantAttribute(false)]
public static ulong Parse(
	string s,
	NumberStyles style
)

Parametri

s
Type: System.String

Stringa che rappresenta il numero da convertire. La stringa viene interpretata usando lo stile specificato dal parametro style.

style
Type: System.Globalization.NumberStyles

Combinazione bit per bit dei valori di enumerazione che specifica il formato consentito di s. Un valore tipico da specificare è NumberStyles.Integer.

Valore restituito

Type: System.UInt64

Intero senza segno a 64 bit equivalente al numero specificato in s.

Exception Condition
ArgumentNullException

Il valore del parametro s è null.

ArgumentException

style non è un valore di NumberStyles.

-oppure-

style non è una combinazione di valori di AllowHexSpecifier e HexNumber.

FormatException

Il parametro s non è in un formato conforme a style.

OverflowException

Il parametro s rappresenta un numero minore di UInt64.MinValue o maggiore di UInt64.MaxValue.

-oppure-

s include cifre frazionarie diverse da zero.

Il style parametro definisce gli elementi di stile (ad esempio gli spazi vuoti, il simbolo di segno positivo o negativo, il simbolo di separatore di gruppo o il simbolo di separatore decimale) consentiti nel s parametro per l'operazione di analisi abbia esito positivo. style deve essere una combinazione di flag di bit dal NumberStyles enumerazione. Il style parametro rende il metodo di overload utile quando s contiene la rappresentazione di stringa di un valore esadecimale, quando il sistema numerico (decimale o esadecimale) rappresentato da s è noto solo in fase di esecuzione o quando si desidera impedire uno spazio vuoto o un simbolo di segno s.

A seconda del valore di style, s parametro può includere gli elementi seguenti:

[ws][$][sign][digits,]digits[.frazionarie] [E [accesso]cifre_esponenziali] [ws]

Gli elementi tra parentesi quadre ([e]) sono facoltativi. Se style include NumberStyles.AllowHexSpecifier, s parametro può contenere i seguenti elementi:

[ws]hexdigits[ws]

Nella tabella seguente viene descritto ogni elemento.

Elemento

Descrizione

sv

Spazio vuoto facoltativo. Gli spazi vuoti possono essere visualizzati all'inizio di s Se style include il NumberStyles.AllowLeadingWhite flag che può essere visualizzato alla fine di s Se style include il NumberStyles.AllowTrailingWhite flag.

$

Un simbolo di valuta specifico per le impostazioni di cultura. La posizione nella stringa è definita per il NumberFormatInfo.CurrencyNegativePattern e NumberFormatInfo.CurrencyPositivePattern le proprietà delle impostazioni cultura correnti. Simbolo di valuta le impostazioni cultura correnti può essere visualizzati s Se style include il NumberStyles.AllowCurrencySymbol flag.

segno

Un segno facoltativo. Il segno può ricorrere all'inizio di s Se style include il NumberStyles.AllowLeadingSign flag che può essere visualizzato alla fine di s Se style include il NumberStyles.AllowTrailingSign flag. Le parentesi possono essere utilizzate s per indicare un valore negativo se style include il NumberStyles.AllowParentheses flag. Tuttavia, il simbolo di segno negativo è utilizzabile solo con zero. in caso contrario, il metodo genera un OverflowException.

cifre

cifre frazionarie

cifre_esponenziali

Una sequenza di cifre comprese tra 0 e 9. Per frazionarie, solo la cifra 0 è valida.

,

Un simbolo di separatore di un gruppo specifico delle impostazioni di cultura. Separatore di gruppi di impostazioni cultura correnti può essere visualizzati s Se style include il NumberStyles.AllowThousands flag.

.

Un simbolo di separatore decimale specifico delle impostazioni di cultura. Simbolo di separatore decimale della lingua corrente può essere visualizzati s Se style include il NumberStyles.AllowDecimalPoint flag. Solo la cifra 0 può essere visualizzato come una cifra frazionaria per l'operazione di analisi abbia esito positivo; Se frazionarie include qualsiasi altra cifra, un FormatException viene generata un'eccezione.

E

Il carattere "e" o "E", che indica che il valore è rappresentato in notazione esponenziale (scientifica). Il s parametro può rappresentare un numero in notazione esponenziale se style include il NumberStyles.AllowExponent flag.

cifreesadecimali

Una sequenza di cifre esadecimali comprese tra 0 e f o tra 0 e F.

Una stringa che contiene solo cifre (che corrisponde al NumberStyles.None stile) viene sempre analizzata correttamente. La maggior parte dei rimanenti NumberStyles membri controllano gli elementi che possono essere presenti, ma non devono essere presenti, nella stringa di input. Nella tabella seguente viene indicato come singoli NumberStyles membri interessano gli elementi che possono essere presenti in s.

Valore di NumberStyles

Elementi consentiti in s oltre alle cifre

None

Il cifre solo l'elemento.

AllowDecimalPoint

Il separatore decimale (.) e cifre frazionarie elementi.

AllowExponent

La "e" o il carattere "E", che indica la notazione esponenziale, insieme a cifre_esponenziali.

AllowLeadingWhite

Il ws elemento all'inizio di s.

AllowTrailingWhite

Il ws elemento alla fine di s.

AllowLeadingSign

Il accesso elemento all'inizio di s.

AllowTrailingSign

Il accesso elemento alla fine di s.

AllowParentheses

Il accesso elemento sotto forma di parentesi che racchiudono il valore numerico.

AllowThousands

Elemento separatore di gruppo (;).

AllowCurrencySymbol

L'elemento valuta ().

Currency

Tutti gli elementi. Tuttavia, s non può rappresentare un numero esadecimale o un numero in notazione esponenziale.

Float

Il ws elemento all'inizio o alla fine di s, accesso all'inizio di s, e il punto decimale (.) simbolo. Il s parametro può inoltre utilizzare la notazione esponenziale.

Number

Il ws, sign, separatore di gruppi (,) e decimale (.) elementi.

Any

Tutti gli elementi. Tuttavia, s può rappresentare un numero esadecimale.

A differenza di altri NumberStyles valori, che consentono di, ma non richiedono la presenza di particolari elementi di stile in s, NumberStyles.AllowHexSpecifier valore dello stile significa che i singoli caratteri numerici in s vengono sempre interpretate come caratteri esadecimali. I caratteri esadecimali validi sono 0-9, A-F e -f. Un prefisso, ad esempio "0x" non è supportato e causa l'operazione di analisi esito negativo. Gli unici altri flag che possono essere combinati con la style parametro NumberStyles.AllowLeadingWhite e NumberStyles.AllowTrailingWhite. (Il NumberStyles enumerazione comprende uno stile di numero composto, NumberStyles.HexNumber, che include entrambi i flag di spazi vuoti.)

System_CAPS_noteNota

Se s è la rappresentazione di stringa di un numero esadecimale, non può essere preceduto da alcun effetto (ad esempio 0x o &h) che lo distingue come numero esadecimale. In questo modo la conversione.

Il s parametro viene analizzato utilizzando le informazioni di formattazione in un NumberFormatInfo oggetto inizializzato per la lingua corrente. Per specificare le impostazioni cultura le cui informazioni di formattazione viene utilizzati per l'operazione di analisi, chiamare il Parse(String, NumberStyles, IFormatProvider) overload.

Nell'esempio seguente tenta di analizzare ogni elemento in una matrice di stringhe con un numero di NumberStyles valori.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] values= { " 214309 ", "1,064,181", "(0)", "10241+", " + 21499 ", 
                         " +21499 ", "122153.00", "1e03ff", "91300.0e-2" };
      NumberStyles whitespace =  NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite;
      NumberStyles[] styles= { NumberStyles.None, whitespace, 
                               NumberStyles.AllowLeadingSign | NumberStyles.AllowTrailingSign | whitespace, 
                               NumberStyles.AllowThousands | NumberStyles.AllowCurrencySymbol, 
                               NumberStyles.AllowExponent | NumberStyles.AllowDecimalPoint };

      // Attempt to convert each number using each style combination.
      foreach (string value in values)
      {
         Console.WriteLine("Attempting to convert '{0}':", value);
         foreach (NumberStyles style in styles)
         {
            try {
               ulong number = UInt64.Parse(value, style);
               Console.WriteLine("   {0}: {1}", style, number);
            }   
            catch (FormatException) {
               Console.WriteLine("   {0}: Bad Format", style);
            }   
            catch (OverflowException)
            {
               Console.WriteLine("   {0}: Overflow", value);         
            }         
         }
         Console.WriteLine();
      }
   }
}
// The example displays the following output:
//    Attempting to convert ' 214309 ':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: 214309
//       Integer, AllowTrailingSign: 214309
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '1,064,181':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: 1064181
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '(0)':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '10241+':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: 10241
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert ' + 21499 ':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert ' +21499 ':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: 21499
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '122153.00':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: 122153
//    
//    Attempting to convert '1e03ff':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '91300.0e-2':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: 913

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 1.1
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: