NumberStyles Enumeration
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- Attribute
Felder
AllowBinarySpecifier | 1024 | Gibt an, dass die numerische Zeichenfolge einen binären Wert darstellt. Gültige Binärwerte sind die numerischen Ziffern 0 und 1. Zeichenfolgen, die mit dieser Formatvorlage analysiert werden, verwenden kein Präfix. |
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 dieser Formatvorlage analysiert werden, können nicht mit dem Präfix "0x" oder "&h" versehen werden. 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 |
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 |
Any | 511 | Gibt an, dass alle Stile außer AllowHexSpecifier und AllowBinarySpecifier verwendet werden. Dies ist ein zusammengesetzter Zahlenstil. |
BinaryNumber | 1027 | Gibt an, dass die Stile AllowLeadingWhite, AllowTrailingWhite und AllowBinarySpecifier 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 Zahlenformatvorlagen, die aus mehreren Feldflags bestehen, die die Stilelemente definieren, die in der analysierten Zeichenfolge vorhanden sein können.
AllowHexSpecifier
Mit 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 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 eine zusammengesetzte Zahlenformatvorlage, HexNumber
, die 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, das System.Globalization.NumberFormatInfo entweder implizit oder explizit an die Parse
-Methode übergeben wird. Die Membertabelle in diesem Thema enthält eine Beschreibung der einzelnen Flags und gibt dessen Beziehung zu Eigenschaften an NumberFormatInfo .
In der folgenden Tabelle sind die zusammengesetzten Zahlenformatvorlagen aufgeführt, und es wird angegeben, welche einzelnen Feldflags sie enthalten. Eine "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 die einzelne Zahlenformatvorlage enthält.
Any | Währung | Float | Integer | Number | HexNumber | BinaryNumber | |
---|---|---|---|---|---|---|---|
AllowBinarySpecifier (0x0400) | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
AllowHexSpecifier (0x0200) | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
AllowCurrencySymbol (0x0100) | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
AllowExponent (0x0080) | 1 | 0 | 1 | 0 | 0 | 0 | 0 |
AllowThousands (0x0040) | 1 | 1 | 0 | 0 | 1 | 0 | 0 |
AllowDecimalPoint (0x0020) | 1 | 1 | 1 | 0 | 1 | 0 | 0 |
AllowParentheses (0x0010) | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
AllowTrailingSign (0x0008) | 1 | 1 | 0 | 0 | 1 | 0 | 0 |
AllowLeadingSign (0x0004) | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
AllowTrailingWhite (0x0002) | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
AllowLeadingWhite (0x0001) | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
(0x1ff) | (0x17f) | (0x0a7) | (0x007) | (0x06f) | (0x203) | (0x403) |