Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

Single.Parse-Methode (String, IFormatProvider)

Aktualisiert: November 2007

Konvertiert die Zeichenfolgendarstellung einer Zahl in einem bestimmten kulturabhängigen Format in die entsprechende Gleitkommazahl mit einfacher Genauigkeit.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)
public static float Parse(
	string s,
	IFormatProvider provider
)
public static float Parse(
	String s,
	IFormatProvider provider
)
public static function Parse(
	s : String, 
	provider : IFormatProvider
) : float

Parameter

s
Typ: System.String
Eine Zeichenfolge, die die zu konvertierende Zahl darstellt.
provider
Typ: System.IFormatProvider
Ein IFormatProvider, der kulturabhängige Formatierungsinformationen über s bereitstellt.

Rückgabewert

Typ: System.Single
Eine Gleitkommazahl mit einfacher Genauigkeit, die dem numerischen Wert oder Symbol in s entspricht.
AusnahmeBedingung
ArgumentNullException

Der s-Parameter ist null.

FormatException

s ist keine Zahl in einem gültigen Format.

OverflowException

s stellt eine Zahl dar, die kleiner als MinValue oder größer als MaxValue ist.

Mit dieser Überladung wird normalerweise Text formatiert, der auf verschiedene Arten als Single-Wert formatiert werden kann. Hiermit kann z. B. der von einem Benutzer eingegebene Text in einem HTML-Textfeld in einen numerischen Wert konvertiert werden.

Der s-Parameter kann PositiveInfinitySymbol, NegativeInfinitySymbol, NaNSymbol oder eine Zeichenfolge der folgenden Form enthalten:

[LR][Vorzeichen]Ganzzahl-Ziffern[.[Bruch-Ziffern]][e[Vorzeichen]Exponenten-Ziffern][LR]

Optionale Elemente stehen in eckigen Klammern ("[" und "]"). Elemente, die den Begriff "Ziffern" enthalten, bestehen aus einer Folge von Ziffern zwischen 0 und 9.

ws

Eine Folge von Leerraumzeichen.

Vorzeichen

Ein Minuszeichen oder ein Pluszeichen.

Ganzzahl-Ziffern

Eine Folge von Ziffern, die den ganzzahligen Teil der Zahl darstellt. Folgen von Ganzzahl-Ziffern können durch Gruppentrennzeichen unterteilt werden. (In manchen Kulturen werden Tausendergruppen z. B. durch ein Komma (",") getrennt.) Ganzzahl-Ziffern dürfen fehlen, wenn Bruch-Ziffern vorhanden sind.

'.'

Ein kulturabhängiges Dezimaltrennzeichen.

Bruch-Ziffern

Eine Folge von Ziffern, die den gebrochenen Teil der Zahl darstellt.

'e'

Ein großes oder kleines 'e', das Exponentialschreibweise (wissenschaftliche Schreibweise) anzeigt.

Exponenten-Ziffern

Eine Folge von Ziffern, die einen Exponenten darstellt.

Beispiele für s sind "100", "-123,456,789", "123.45e+6", "+500", "5e2", "3.1416", "600.", "-.123" und "-Infinity".

Diese Überladung von Parse verwendet den NumberStyles.Float-Wert und den NumberStyles.AllowThousands-Wert sowie die von provider angegebenen Formatierungsinformationen für Zahlen. Wenn provider null ist oder keine NumberFormatInfo-Klasse abgerufen werden kann, werden die Formatierungsinformationen für die aktuelle Systemkultur verwendet.

Weitere Informationen zu numerischen Formaten finden Sie im Thema Übersicht über Formatierung.

Wenn während eines Analysevorgangs im s-Parameter ein Trennzeichen gefunden wird und die Dezimal- und Gruppentrennzeichen für Währungs- und Zahlenangaben identisch sind, dann wertet der Analysevorgang das Trennzeichen als Dezimaltrennzeichen und nicht als Gruppentrennzeichen. Weitere Informationen über Trennzeichen finden Sie unter CurrencyDecimalSeparator, NumberDecimalSeparator, CurrencyGroupSeparator und NumberGroupSeparator.

Im folgenden Beispiel wird der Ereignishandler für das Click-Ereignis eines Web Forms veranschaulicht. Es wird das von der HttpRequest.UserLanguages-Eigenschaft zurückgegebene Array verwendet, um das Gebietsschema des Benutzers zu bestimmen. Danach wird ein CultureInfo-Objekt instanziiert, das diesem Gebietsschema entspricht. Das zu diesem CultureInfo-Objekt gehörende NumberFormatInfo-Objekt wird dann an die Parse(String, IFormatProvider)-Methode übergeben, um die Benutzereingabe in einen Single-Wert zu konvertieren.

protected void OkToSingle_Click(object sender, EventArgs e)
{
   string locale;
   float 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 = Single.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();
}


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile für Smartphone, Windows Mobile für Pocket PC, Xbox 360

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

.NET Framework

Unterstützt in: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 3.5, 2.0, 1.0

XNA Framework

Unterstützt in: 2.0, 1.0
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

HINZUFÜGEN
© 2013 Microsoft. Alle Rechte vorbehalten.