NumberStyles Enumeration

Definition

Bestimmt die Formate, die in numerischen Zeichenfolgenargumenten erlaubt sind, die an die Parse-Methode und TryParse-Methode des numerischen Typs der Ganzzahl oder einer Gleitkommazahl übergeben werden.

Diese Enumeration unterstützt eine bitweise Kombination ihrer Memberwerte.

public enum class NumberStyles
[System.Flags]
public enum NumberStyles
[System.Flags]
[System.Serializable]
public enum NumberStyles
[System.Flags]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum NumberStyles
[<System.Flags>]
type NumberStyles = 
[<System.Flags>]
[<System.Serializable>]
type NumberStyles = 
[<System.Flags>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type NumberStyles = 
Public Enum NumberStyles
Vererbung
NumberStyles
Attribute

Felder

AllowCurrencySymbol 256

Gibt an, dass die numerische Zeichenfolge ein Währungssymbol enthalten kann. Gültige Währungssymbole werden von der CurrencySymbol-Eigenschaft bestimmt.

AllowDecimalPoint 32

Gibt an, dass die numerische Zeichenfolge ein Dezimaltrennzeichen enthalten kann. Wenn der NumberStyles-Wert das AllowCurrencySymbol-Flag enthält, und die analysierte Zeichenfolge ein Währungssymbol einschließt, wird das Dezimaltrennzeichen von der CurrencyDecimalSeparator-Eigenschaft bestimmt. Andernfalls wird das Dezimaltrennzeichen von der NumberDecimalSeparator-Eigenschaft bestimmt.

AllowExponent 128

Gibt an, dass die numerische Zeichenfolge in Exponentialschreibweise vorliegen kann. Das AllowExponent-Flag ermöglicht es der analysierten Zeichenfolge, einen Exponenten zu enthalten, der mit dem Zeichen "E" oder "e" beginnt und dem ein optionales positives oder negatives Vorzeichen und eine ganze Zahl folgen. Das heißt, dass es Zeichenfolgen in den Formen nnnExx, nnnE+xx und nnnE-xx erfolgreich analysiert. Es ist kein Dezimaltrennzeichen im Signifikanden oder in der Mantisse zulässig. Damit diese Elemente in der Zeichenfolge analysiert werden können, verwenden Sie das AllowDecimalPoint-Flag und das AllowLeadingSign-Flag, oder verwenden Sie ein zusammengesetztes Format, das diese einzelnen Flags enthält.

AllowHexSpecifier 512

Gibt an, dass die numerische Zeichenfolge einen Hexadezimalwert darstellt. Gültige Hexadezimalwerte können die numerischen Ziffern 0-9 und die Hexadezimalziffern A-F bzw. a-f enthalten. Zeichenfolgen, die mit diesem Stil analysiert werden, kann „0x“ oder „&h“ vorangestellt sein. Eine mit dem AllowHexSpecifier-Format analysierte Zeichenfolge wird immer als Hexadezimalwert interpretiert. Die einzigen Flags, die mit AllowHexSpecifier kombiniert werden können, sind AllowLeadingWhite und AllowTrailingWhite. Die NumberStyles-Enumeration schließt ein zusammengesetztes Format ein, HexNumber, das aus diesen drei Flags besteht.

AllowLeadingSign 4

Gibt an, dass die numerische Zeichenfolge mit einem Vorzeichen versehen sein kann. Gültige Zeichen für Vorzeichen werden von der PositiveSign-Eigenschaft und der NegativeSign-Eigenschaft bestimmt.

AllowLeadingWhite 1

Gibt an, dass führende Leerraumzeichen in der analysierten Zeichenfolge vorhanden sein dürfen. Gültige Leerzeichen haben die Unicode-Werte U+0009, U+000A, U+000B, U+000C, U+000D und U+0020. Hierbei handelt es sich um eine Teilmenge der Zeichen, für die die IsWhiteSpace(Char)-Methode true zurückgibt.

AllowParentheses 16

Gibt an, dass die numerische Zeichenfolge über ein die Zahl umschließendes Klammerpaar verfügen kann. Die Klammern geben an, dass die zu analysierende Zeichenfolge eine negative Zahl darstellt.

AllowThousands 64

Gibt an, dass die numerische Zeichenfolge über Gruppentrennzeichen verfügen kann, z. B. Symbole zum Trennen der Hunderter von den Tausendern. Wenn der NumberStyles Wert das AllowCurrencySymbol Flag enthält und die zu analysierende Zeichenfolge ein Währungssymbol enthält, wird das gültige Gruppentrennzeichen durch die CurrencyGroupSeparator -Eigenschaft bestimmt, und die Anzahl der Ziffern in jeder Gruppe wird durch die CurrencyGroupSizes -Eigenschaft bestimmt. Andernfalls wird das gültige Gruppentrennzeichen von der NumberGroupSeparator-Eigenschaft bestimmt, und die Anzahl der Ziffern in den einzelnen Gruppen wird von der NumberGroupSizes-Eigenschaft bestimmt.

AllowTrailingSign 8

Gibt an, dass die numerische Zeichenfolge mit einem nachstehenden Zeichen versehen sein kann. Gültige nachstehende Zeichen werden von der PositiveSign-Eigenschaft und der NegativeSign-Eigenschaft bestimmt.

AllowTrailingWhite 2

Gibt an, dass nachgestellte Leerraumzeichen in der analysierten Zeichenfolge vorhanden sein dürfen. Gültige Leerzeichen haben die Unicode-Werte U+0009, U+000A, U+000B, U+000C, U+000D und U+0020. Hierbei handelt es sich um eine Teilmenge der Zeichen, für die die IsWhiteSpace(Char)-Methode true zurückgibt.

Any 511

Gibt an, dass alle Stile außer AllowHexSpecifier verwendet werden. Dies ist ein zusammengesetzter Zahlenstil.

Currency 383

Gibt an, dass alle Stile außer AllowExponent und AllowHexSpecifier verwendet werden. Dies ist ein zusammengesetzter Zahlenstil.

Float 167

Gibt an, dass die Stile AllowLeadingWhite, AllowTrailingWhite, AllowLeadingSign, AllowDecimalPoint und AllowExponent verwendet werden. Dies ist ein zusammengesetzter Zahlenstil.

HexNumber 515

Gibt an, dass die Stile AllowLeadingWhite, AllowTrailingWhite und AllowHexSpecifier verwendet werden. Dies ist ein zusammengesetzter Zahlenstil.

Integer 7

Gibt an, dass die Stile AllowLeadingWhite, AllowTrailingWhite und AllowLeadingSign verwendet werden. Dies ist ein zusammengesetzter Zahlenstil.

None 0

Gibt an, dass keine Stilelemente, z. B. vorangestellte oder nachgestellte Leerstellen, Tausendertrennzeichen oder ein Dezimaltrennzeichen, in der analysierten Zeichenfolge vorhanden sein können. Die zu analysierende Zeichenfolge muss ausschließlich aus ganzzahligen Dezimalziffern bestehen.

Number 111

Gibt an, dass die Stile AllowLeadingWhite, AllowTrailingWhite, AllowLeadingSign, AllowTrailingSign, AllowDecimalPoint und AllowThousands verwendet werden. Dies ist ein zusammengesetzter Zahlenstil.

Beispiele

In diesem Beispiel wird gezeigt, wie eine Zeichenfolge mithilfe verschiedener NumberStyles Flags in eine 32-Bit-Ganzzahl analysiert wird.

using namespace System;
using namespace System::Text;
using namespace System::Globalization;


int main()
{
    // Parse the string as a hex value and display the
    // value as a decimal.
    String^ numberString = "A";
    int stringValue = Int32::Parse(numberString, NumberStyles::HexNumber);
    Console::WriteLine("{0} in hex = {1} in decimal.",
        numberString, stringValue);

    // Parse the string, allowing a leading sign, and ignoring
    // leading and trailing white spaces.
    numberString = "    -45   ";
    stringValue =Int32::Parse(numberString, NumberStyles::AllowLeadingSign |
        NumberStyles::AllowLeadingWhite | NumberStyles::AllowTrailingWhite);
    Console::WriteLine("'{0}' parsed to an int is '{1}'.",
        numberString, stringValue);

    // Parse the string, allowing parentheses, and ignoring
    // leading and trailing white spaces.
    numberString = "    (37)   ";
    stringValue = Int32::Parse(numberString, NumberStyles::AllowParentheses |
        NumberStyles::AllowLeadingSign | NumberStyles::AllowLeadingWhite |
        NumberStyles::AllowTrailingWhite);

    Console::WriteLine("'{0}' parsed to an int is '{1}'.",
        numberString, stringValue);
}

// This code produces the following output.
//
// A in hex = 10 in decimal.
// '    -45   ' parsed to an int is '-45'.
// '    (37)   ' parsed to an int is '-37'.
using System;
using System.Text;
using System.Globalization;

public sealed class App
{
    static void Main()
    {
        // Parse the string as a hex value and display the value as a decimal.
        String num = "A";
        int val = int.Parse(num, NumberStyles.HexNumber);
        Console.WriteLine("{0} in hex = {1} in decimal.", num, val);

        // Parse the string, allowing a leading sign, and ignoring leading and trailing white spaces.
        num = "    -45   ";
        val = int.Parse(num, NumberStyles.AllowLeadingSign |
            NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite);
        Console.WriteLine("'{0}' parsed to an int is '{1}'.", num, val);

        // Parse the string, allowing parentheses, and ignoring leading and trailing white spaces.
        num = "    (37)   ";
        val = int.Parse(num, NumberStyles.AllowParentheses | NumberStyles.AllowLeadingSign |                         NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite);
        Console.WriteLine("'{0}' parsed to an int is '{1}'.", num, val);
    }
}

// This code produces the following output.
//
// A in hex = 10 in decimal.
// '    -45   ' parsed to an int is '-45'.
// '    (37)   ' parsed to an int is '-37'.
Imports System.Globalization
Imports System.Text

Public Module Example
   Public Sub Main() 
      ' Parse the string as a hex value and display the value as a decimal.
      Dim num As String = "A"
      Dim val As Integer = Int32.Parse(num, NumberStyles.HexNumber)
      Console.WriteLine("{0} in hex = {1} in decimal.", num, val)

      ' Parse the string, allowing a leading sign, and ignoring leading and trailing white spaces.
      num = "    -45   "
      val = Integer.Parse(num, NumberStyles.AllowLeadingSign Or 
                               NumberStyles.AllowLeadingWhite Or 
                               NumberStyles.AllowTrailingWhite)
      Console.WriteLine("'{0}' parsed to an integer is '{1}'.", num, val)

      ' Parse the string, allowing parentheses, and ignoring leading and trailing white spaces.
      num = "    (37)   "
      val = Integer.Parse(num, NumberStyles.AllowParentheses Or 
                               NumberStyles.AllowLeadingSign Or
                               NumberStyles.AllowLeadingWhite Or 
                               NumberStyles.AllowTrailingWhite)
      Console.WriteLine("'{0}' parsed to an integer is '{1}'.", num, val)
   End Sub
End Module
' The example displays the following output:
'       A in hex = 10 in decimal.
'       '    -45   ' parsed to an int is '-45'.
'       '    (37)   ' parsed to an int is '-37'.

Hinweise

Die NumberStyles Enumeration besteht aus zwei Arten von Enumerationswerten, die zum Analysieren der Zeichenfolgendarstellungen numerischer Werte verwendet werden:

  • Einzelne Feldflags, die bestimmte Stilelemente (z. B. Leerzeichen und Gruppentrennzeichen) definieren, die in der analysierten Zeichenfolge vorhanden sein können.

  • Zusammengesetzte Zahlenformate, die aus mehreren Feldflags bestehen, die die Stilelemente definieren, die in der analysierten Zeichenfolge vorhanden sein können.

AllowHexSpecifierMit Ausnahme von definieren die einzelnen Feldflags in der NumberStyles Enumeration Stilelemente, die beim Analysieren der Zeichenfolgendarstellung einer Dezimalzahl verwendet werden. None gibt an, dass in der analysierten Zeichenfolge nur Ziffern vorhanden sein können. Die verbleibenden einzelnen Feldflags definieren Stilelemente, die in der Zeichenfolgendarstellung einer Dezimalzahl vorhanden sein können, aber nicht sein müssen, damit der Analysevorgang erfolgreich ist. Im Gegensatz dazu gibt das AllowHexSpecifier Flag an, dass die zu analysierende Zeichenfolge immer als Hexadezimalwert interpretiert wird. Die einzigen einzelnen Feldflags, die mit AllowHexSpecifier verwendet werden können, sind AllowLeadingWhite und AllowTrailingWhite. Die NumberStyles Enumeration enthält ein zusammengesetztes Zahlenformat, HexNumberdas aus allen drei Flags besteht.

Die Symbole (z. B. das Währungssymbol, das Gruppentrennzeichen, das Dezimaltrennzeichen und die positiven und negativen Zeichen), die in der zu analysierenden Zeichenfolge angezeigt werden können, werden durch die Elemente des Objekts definiert, die System.Globalization.NumberFormatInfo implizit oder explizit an die Parse -Methode übergeben werden. Die Membertabelle in diesem Thema enthält eine Beschreibung der einzelnen Flags und zeigt dessen Beziehung zu Eigenschaften an NumberFormatInfo .

In der folgenden Tabelle sind die zusammengesetzten Zahlenstile aufgeführt und gibt an, welche einzelnen Feldflags enthalten sind. Ein "1" in einer Zelle gibt an, dass die zusammengesetzte Zahlenformatvorlage die einzelne Zahlenart in dieser Zeile enthält. Ein "0" gibt an, dass die zusammengesetzte Zahlenformatvorlage nicht das einzelne Zahlenformat enthält.

Any Währung Float Integer Number HexNumber
AllowHexSpecifier (0x0200) 0 0 0 0 0 1
AllowCurrencySymbol (0x0100) 1 1 0 0 0 0
AllowExponent (0x0080) 1 0 1 0 0 0
AllowThousands (0x0040) 1 1 0 0 1 0
AllowDecimalPoint (0x0020) 1 1 1 0 1 0
AllowParentheses (0x0010) 1 1 0 0 0 0
AllowTrailingSign (0x0008) 1 1 0 0 1 0
AllowLeadingSign (0x0004) 1 1 1 1 1 0
AllowTrailingWhite (0x0002) 1 1 1 1 1 1
AllowLeadingWhite (0x0001) 1 1 1 1 1 1
(0x1ff) (0x17f) (0x0a7) (0x007) (0x06f) (0x203)

Gilt für

Siehe auch