NumberStyles Enumerazione
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Determina gli stili consentiti negli argomenti di stringa numerici passati ai metodi Parse
e TryParse
dei tipi numerici integrali e a virgola mobile.
Questa enumerazione supporta una combinazione bit per bit dei rispettivi valori dei membri.
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
- Ereditarietà
- Attributi
Campi
AllowBinarySpecifier | 1024 | Indica che la stringa numerica rappresenta un valore binario. I valori binari validi includono le cifre numeriche 0 e 1. Le stringhe analizzate usando questo stile non usano un prefisso; |
AllowCurrencySymbol | 256 | Indica che la stringa numerica può contenere un simbolo di valuta. I simboli di valuta validi sono determinati dalla proprietà CurrencySymbol. |
AllowDecimalPoint | 32 | Indica che nella stringa numerica può essere presente un separatore decimale. Se il valore NumberStyles include il flag AllowCurrencySymbol e la stringa analizzata include un simbolo di valuta, il carattere del separatore decimale è determinato dalla proprietà CurrencyDecimalSeparator. In caso contrario, il carattere separatore dei decimali è determinato dalla proprietà NumberDecimalSeparator. |
AllowExponent | 128 | Indica che nella stringa numerica può essere presente un simbolo di esponente. Il flag AllowExponent consente alla stringa analizzata di contenere un esponente che inizia con il carattere "E" o "e", seguito da un segno positivo o un segno negativo facoltativo e un Integer. In altre parole il flag analizza correttamente stringhe nel formato nnnExx, nnnE+xx e nnnE-xx. Non sono consentiti separatori o segni decimali nel significando o nella mantissa; per consentire l'analisi di tali elementi nella stringa, utilizzare i flag AllowDecimalPoint e AllowLeadingSign, oppure uno stile composito che includa tali flag specifici. |
AllowHexSpecifier | 512 | Indica che la stringa numerica rappresenta un valore esadecimale. I valori esadecimali validi includono le cifre numeriche 0-9 e le cifre esadecimali A-F e a-f. Le stringhe analizzate con questo stile non possono essere precedute da "0x" o "&h". Una stringa analizzata con lo stile AllowHexSpecifier verrà sempre interpretata come valore esadecimale. Gli unici altri flag che possono essere combinati con AllowHexSpecifier sono AllowLeadingWhite e AllowTrailingWhite. L'enumerazione NumberStyles include uno stile composto, HexNumber, costituito da tutti e tre i flag. |
AllowLeadingSign | 4 | Indica che nella stringa numerica può essere presente un segno iniziale. I caratteri validi per i segni iniziali sono determinati dalle proprietà PositiveSign e NegativeSign. |
AllowLeadingWhite | 1 | Indica che nella stringa analizzata può essere presente un carattere di spazio iniziale. I caratteri di spazio validi sono associati ai codici Unicode U+0009, U+000A, U+000B, U+000C, U+000D e U+0020. Notare che si tratta di un sottoinsieme dei caratteri per i quali il metodo IsWhiteSpace(Char) restituisce |
AllowParentheses | 16 | Indica che nella stringa numerica può essere presente una coppia di parentesi che racchiude un numero. Le parentesi indicano che la stringa da analizzare rappresenta un numero negativo. |
AllowThousands | 64 | Indica che nella stringa numerica possono essere presenti separatori di gruppo, ad esempio simboli di separazione tra le centinaia e le migliaia. Se il NumberStyles valore include il AllowCurrencySymbol flag e la stringa da analizzare include un simbolo di valuta, il carattere separatore di gruppo valido viene determinato dalla CurrencyGroupSeparator proprietà e il numero di cifre in ogni gruppo è determinato dalla CurrencyGroupSizes proprietà . In caso contrario, il carattere separatore dei decimali valido è determinato dalla proprietà NumberGroupSeparator e il numero di cifre in ciascun gruppo dalla proprietà NumberGroupSizes. |
AllowTrailingSign | 8 | Indica che nella stringa numerica può essere presente un segno finale. I caratteri validi per i segni finali sono determinati dalle proprietà PositiveSign e NegativeSign. |
AllowTrailingWhite | 2 | Indica che nella stringa analizzata possono essere presenti caratteri di spazio finale. I caratteri di spazio validi sono associati ai codici Unicode U+0009, U+000A, U+000B, U+000C, U+000D e U+0020. Notare che si tratta di un sottoinsieme dei caratteri per i quali il metodo IsWhiteSpace(Char) restituisce |
Any | 511 | Indica che vengono utilizzati tutti gli stili, ad eccezione di AllowHexSpecifier e AllowBinarySpecifier. Si tratta di uno stile di numero composto. |
BinaryNumber | 1027 | Indica che vengono utilizzati gli stili AllowLeadingWhite, AllowTrailingWhite e AllowBinarySpecifier. Si tratta di uno stile di numero composto. |
Currency | 383 | Indica che vengono utilizzati tutti gli stili, ad eccezione di AllowExponent e AllowHexSpecifier. Si tratta di uno stile di numero composto. |
Float | 167 | Indica che vengono utilizzati gli stili AllowLeadingWhite, AllowTrailingWhite, AllowLeadingSign, AllowDecimalPoint e AllowExponent. Si tratta di uno stile di numero composto. |
HexNumber | 515 | Indica che vengono utilizzati gli stili AllowLeadingWhite, AllowTrailingWhite e AllowHexSpecifier. Si tratta di uno stile di numero composto. |
Integer | 7 | Indica che vengono utilizzati gli stili AllowLeadingWhite, AllowTrailingWhite e AllowLeadingSign. Si tratta di uno stile di numero composto. |
None | 0 | Indica che nella stringa analizzata non può essere presente alcun elemento di stile, ad esempio spazio iniziale o finale, separatori delle migliaia o separatore decimale. La stringa da analizzare deve essere composta unicamente da cifre decimali integrali. |
Number | 111 | Indica che vengono utilizzati gli stili AllowLeadingWhite, AllowTrailingWhite, AllowLeadingSign, AllowTrailingSign, AllowDecimalPoint e AllowThousands. Si tratta di uno stile di numero composto. |
Esempio
In questo esempio viene illustrato come analizzare una stringa in un intero a 32 bit usando vari NumberStyles
flag.
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'.
Commenti
L'enumerazione NumberStyles è costituita da due tipi di valori di enumerazione usati per analizzare le rappresentazioni di stringa dei valori numerici:
- Flag di campo singoli, che definiscono elementi di stile specifici ,ad esempio spazi vuoti e separatori di gruppo, che possono essere presenti nella stringa analizzata.
- Stili numerici compositi, costituiti da più flag di campo che definiscono gli elementi di stile che possono essere presenti nella stringa analizzata.
Ad eccezione di AllowHexSpecifier
, i singoli flag di campo nell'enumerazione NumberStyles definiscono gli elementi di stile utilizzati durante l'analisi della rappresentazione di stringa di un numero decimale.
None
indica che solo le cifre possono essere presenti nella stringa analizzata. I singoli flag di campo rimanenti definiscono gli elementi di stile che possono essere, ma non devono essere presenti nella rappresentazione di stringa di un numero decimale per l'esito positivo dell'operazione di analisi. Al contrario, il AllowHexSpecifier
flag indica che la stringa da analizzare viene sempre interpretata come valore esadecimale. Gli unici flag di campo singoli che possono essere usati con AllowHexSpecifier
sono AllowLeadingWhite
e AllowTrailingWhite
. L'enumerazione NumberStyles include uno stile numerico composito, HexNumber
, costituito da tutti e tre i flag.
I simboli (ad esempio il simbolo di valuta, il separatore di gruppo, il separatore decimale e i segni positivi e negativi) che possono essere visualizzati nella stringa da analizzare vengono definiti dai membri dell'oggetto System.Globalization.NumberFormatInfo che vengono passati in modo implicito o esplicito al Parse
metodo. La tabella dei membri di questo argomento fornisce una descrizione di ogni singolo flag e ne indica la relazione con NumberFormatInfo le proprietà.
Nella tabella seguente sono elencati gli stili dei numeri compositi e indica quali singoli flag di campo includono. Una "1" in una cella indica che lo stile del numero composito include il singolo stile numerico in tale riga. Un valore "0" indica che lo stile del numero composito non include il singolo stile numerico.
Qualsiasi | Valuta | 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) |