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 Int16.Parse (String, NumberStyles)

 

Data di pubblicazione: ottobre 2016

Converte la rappresentazione di stringa di un numero in uno stile specificato nell'equivalente intero con segno a 16 bit.

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

public static short Parse(
	string s,
	NumberStyles style
)

Parametri

s
Type: System.String

Stringa che contiene un numero da convertire.

style
Type: System.Globalization.NumberStyles

Combinazione bit per bit dei valori di enumerazione che indica gli elementi di stile che possono essere presenti in s. Un valore tipico da specificare è NumberStyles.Integer.

Valore restituito

Type: System.Int16

Intero con segno a 16 bit equivalente al numero specificato in s.

Exception Condition
ArgumentNullException

s è null.

ArgumentException

style non è un valore di NumberStyles.

-oppure-

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

FormatException

Il formato di s non è conforme a style.

OverflowException

s rappresenta un numero minore di MinValue o maggiore di MaxValue.

-oppure-

s include cifre frazionarie diverse da zero.

Il style parametro definisce gli elementi di stile (ad esempio gli spazi vuoti o un simbolo di segno) che sono consentiti nel s parametro per l'operazione di analisi abbia esito positivo. Deve essere una combinazione di flag di bit dal NumberStyles enumerazione. A seconda del valore di style, s parametro può includere gli elementi seguenti:

[ws] [$] [segno] [cifre,] cifre [. cifre frazionarie] [e [segno] cifre] [sv]

In alternativa, se style include AllowHexSpecifier:

[cifre esadecimali ws] [sv]

Elementi in parentesi quadre ([e]) sono facoltativi. Nella tabella seguente viene descritto ogni elemento.

Elemento

Descrizione

ws

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

$

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

accesso

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.

cifre

Una sequenza di cifre da 0 a 9.

,

Specifiche delle impostazioni cultura migliaia simbolo di separatore. Migliaia di impostazioni cultura correnti simbolo di separatore può apparire in s Se style include il NumberStyles.AllowThousands flag.

.

Simbolo di separatore decimale delle impostazioni cultura specifiche. Simbolo di separatore decimale della lingua corrente può essere visualizzati s Se style include il NumberStyles.AllowDecimalPoint flag.

frazionarie

Sequenza della cifra 0. Cifre frazionarie possono essere visualizzati in s Se style include il NumberStyles.AllowDecimalPoint flag. Se in qualsiasi cifra diverso da 0 frazionarie, il metodo genera un OverflowException.

e

Il carattere 'e' o 'E', che indica che s può essere rappresentato in notazione esponenziale. Il s parametro può rappresentare un numero in notazione esponenziale se style include il NumberStyles.AllowExponent flag. Tuttavia, il s parametro deve rappresentare un numero compreso nell'intervallo di Int16 tipo di dati e non può avere un componente frazionario diverso da zero.

cifre esadecimali

Una sequenza di cifre da 0 a f, o da 0 a F.

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

Valori NumberStyles non compositi

Elementi consentiti in s oltre alle cifre

NumberStyles.None

Cifre decimali.

NumberStyles.AllowDecimalPoint

Il . e frazionarie elementi. Tuttavia, frazionarie deve essere costituito solo da uno o più cifre 0 o un OverflowException viene generata un'eccezione.

NumberStyles.AllowExponent

Il s parametro può inoltre utilizzare la notazione esponenziale.

NumberStyles.AllowLeadingWhite

Il ws elemento all'inizio del s.

NumberStyles.AllowTrailingWhite

Il ws elemento alla fine di s.

NumberStyles.AllowLeadingSign

Un segno può apparire prima cifre.

NumberStyles.AllowTrailingSign

Un segno può comparire dopo cifre.

NumberStyles.AllowParentheses

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

NumberStyles.AllowThousands

Il , elemento.

NumberStyles.AllowCurrencySymbol

Il $ elemento.

Se il NumberStyles.AllowHexSpecifier flag viene utilizzato, s deve essere la rappresentazione di stringa di un valore esadecimale senza un prefisso. Ad esempio, "9AF3" viene analizzata correttamente, ma non "0x9AF3". Gli unici altri flag che possono essere presenti in style sono NumberStyles.AllowLeadingWhite e NumberStyles.AllowTrailingWhite. (Il NumberStyles enumerazione dispone di uno stile di numero composto, NumberStyles.HexNumber, che include entrambi i flag di spazi vuoti.)

Il s parametro viene analizzato utilizzando le informazioni di formattazione in un NumberFormatInfo oggetto inizializzato per la lingua corrente. Per altre informazioni, vedere NumberFormatInfo.CurrentInfo. Per analizzare s utilizzando le informazioni di formattazione delle impostazioni cultura specifiche, chiamare il Int16.Parse(String, NumberStyles, IFormatProvider) metodo.

Nell'esempio seguente viene utilizzata la Int16.Parse(String, NumberStyles) metodo per analizzare le rappresentazioni di stringa di Int16 valori utilizzando le impostazioni cultura en-US.

using System;
using System.Globalization;

public class ParseSample
{
   public static void Main()
   {
      string value; 
      NumberStyles style;

      // Parse a number with a thousands separator (throws an exception).
      value = "14,644";
      style = NumberStyles.None;
      ParseToInt16(value, style);

      style = NumberStyles.AllowThousands;
      ParseToInt16(value, style);

      // Parse a number with a thousands separator and decimal point.
      value = "14,644.00";
      style = NumberStyles.AllowThousands | NumberStyles.Integer |
              NumberStyles.AllowDecimalPoint;
      ParseToInt16(value, style);

      // Parse a number with a fractional component (throws an exception).
      value = "14,644.001";
      ParseToInt16(value, style);

      // Parse a number in exponential notation.
      value = "145E02";
      style = style | NumberStyles.AllowExponent;
      ParseToInt16(value, style);

      // Parse a number in exponential notation with a positive sign.
      value = "145E+02";
      ParseToInt16(value, style);

      // Parse a number in exponential notation with a negative sign
      // (throws an exception).
      value = "145E-02";
      ParseToInt16(value, style);
   }

   private static void ParseToInt16(string value, NumberStyles style)
   {
      try
      {
         short number = Int16.Parse(value, style);
         Console.WriteLine("Converted '{0}' to {1}.", value, number);
      }
      catch (FormatException)
      {
         Console.WriteLine("Unable to parse '{0}' with style {1}.", value, 
                           style.ToString());
      }
      catch (OverflowException)
      {
         Console.WriteLine("'{0}' is out of range of the Int16 type.", value);
      }
   }   
}
// The example displays the following output to the console:
//       Unable to parse '14,644' with style None.
//       Converted '14,644' to 14644.
//       Converted '14,644.00' to 14644.
//       '14,644.001' is out of range of the Int16 type.
//       Converted '145E02' to 14500.
//       Converted '145E+02' to 14500.
//       '145E-02' is out of range of the Int16 type.

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: